[#2810] [BUG] IO#eof? when Thread using — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

31 messages 1998/06/08
[#2826] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2827] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2828] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2829] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2831] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2841] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2842] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2843] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2845] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2846] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

けいじゅ@日本ラショナルソフトウェアです.

[#2847] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2848] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

けいじゅ@日本ラショナルソフトウェアです.

[#2849] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2854] experimental release 1.1b9_25 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/06/11
[#2870] Re: experimental release 1.1b9_25 — Takahiro Maebashi <maebashi@...> 1998/06/15

前橋です。

[#2911] experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1998/06/18
[#2912] Re: experimental release 1.1b9_26 — WATANABE Hirofumi <watanabe@...> 1998/06/18

わたなべです.

[#2913] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2916] Re: experimental release 1.1b9_26 — Takahiro Maebashi <maebashi@...> 1998/06/18

前橋です。

[#2917] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2940] experimental release 1.1b9_27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

21 messages 1998/06/19

[#2965] feature freeze for 1.1c — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1998/06/22

[#3056] experimental release 1.1b9_28 — matz@... (Yukihiro Matsumoto)

subject says all.

28 messages 1998/06/26
[#3104] Re: experimental release 1.1b9_28 — Takahiro Maebashi <maebashi@...> 1998/06/30

前橋です。

[#3086] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro)

ごとけんです

19 messages 1998/06/29
[#3120] Re: Enumerable#reverse ([ruby-list:8579]) — keiju@... (Keiju ISHITSUKA) 1998/06/30

けいじゅ@日本ラショナルソフトウェアです.

[#3130] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro) 1998/06/30

ごとけんです

[#3146] [REQ] trace_func — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

15 messages 1998/06/30
[#3190] Re: [REQ] trace_func — matz@... (Yukihiro Matsumoto) 1998/07/02

まつもと ゆきひろです

[#3807] Re: [REQ] trace_func — keiju@... (石塚圭樹 ) 1998/12/14

けいじゅ@日本ラショナルソフトウェアです.

[ruby-dev:2975] Re: experimental release 1.1b9_26

From: NAGAI Hidetoshi <nagai@...>
Date: 1998-06-23 01:33:23 UTC
List: ruby-dev #2975
永井@知能.九工大です.

>>>>> "M" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
M> In message "[ruby-dev:2950] Re: experimental release 1.1b9_26"
M>     on 98/06/21, NAGAI Hidetoshi <nagai@dumbo.ai.kyutech.ac.jp> writes:
M> |after で問題になるのは,手続きを繰り返し登録して
M> |実行させる場合であると考えて,試しに現在,
M> |after を TkAfter なるクラスとして実装してみています.

M> 今の仕様だとキャンセルできないのがアレだよな,と思っていたの
M> で,クラス化(オブジェクト化)は正解のように思います.楽しみに
M> 待ってます.

お待たせしました.このメールの末尾に添えておきます.

# tcltklib.c の方のパッチは別便にします.

ドキュメントをきちんと書いていないのですが,たとえばこんな風に使います.
=========================================================
require 'tkafter'

# インスタンスを生成
x = TkAfter.new

# インターバルを 100ms にして処理並びを 3 回繰り返す処理を登録.
# 繰り返す処理は proc{p 111} と proc{|a,| print "+";p a}.call(222, 333)
x.set_procs(100, 3, proc{p 111}, [proc{|a,| print "+";p a}, 222, 333])

#
# 登録したものを有効にする.
x.start

# 処理設定は new の引数としても使用可能
# 繰り返し回数を負にすれば無限に繰り返す.
# start メソッドに引数を指定すれば,まず最初にそれが実行される.
# この例では,10ms 後に proc{p 999} をまず実行してから繰り返しに入る.
TkAfter.new(100, -1, proc{p 444}, [proc{|a,| p a}, 555]).start(10,proc{p 999})

Tk.mainloop
=========================================================
上記を実行すると
=========================================================
999
111
444
+222
555
111
444
+222
555
111
444
+222
555
444
555
444
 :
 :
=========================================================
となります.

インターバルのところに 'idle' という文字列を与えれば,
timer task ではなく,idle task として登録されます.

他には info, cancel, stop, continue, restart, skip, running? 等の
メソッドが用意してあります.
なお,結構,処理が重くなってしまっているようですので,
軽い処理のために,旧来の after も残しておいた方がいいかもしれません.
お試しください.

また,tkpalette.rb で require を入れ忘れてました.

--- tkpalette.rb~	Fri Jun 19 09:25:14 1998
+++ tkpalette.rb	Sun Jun 21 06:15:21 1998
@@ -1,7 +1,9 @@
 #
 #   tkpalette.rb : methods for Tcl/Tk standard library 'palette.tcl'
-#                     1998/06/18 by Hidetoshi Nagai <nagai@ai.kyutech.ac.jp>
+#                     1998/06/21 by Hidetoshi Nagai <nagai@ai.kyutech.ac.jp>
 #
+require 'tk'
+
 module TkPalette
   include Tk
   extend Tk

ついでにどうでもいいような修正ですが,(^_^)

--- /usr/src/ruby-1.1b9_26/lib/tk.rb	Fri Jun 19 13:49:08 1998
+++ ./tk.rb	Sun Jun 21 17:05:06 1998
@@ -165,7 +165,7 @@
   end
   private :_get_eval_string
 
-  Tk_IDs = [0]		# [0]-cmdid, [1]-winid
+  Tk_IDs = [0, 0]		# [0]-cmdid, [1]-winid
   def _curr_cmd_id
     id = format("c%.4d", Tk_IDs[0])
   end
@@ -188,8 +188,8 @@
   private :install_cmd, :uninstall_cmd
 
   def install_win(ppath)
-    id = format("w%.4d", Tk_IDs[0])
-    Tk_IDs[0] += 1
+    id = format("w%.4d", Tk_IDs[1])
+    Tk_IDs[1] += 1
     if !ppath or ppath == "."
       @path = format(".%s", id);
     else

-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

begin 666 tkafter.rb.gz
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
3 EXCJ ^,>!7__P(JZ!<:4!0  '[Y
 
end

In This Thread