[#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:2950] Re: experimental release 1.1b9_26

From: NAGAI Hidetoshi <nagai@...>
Date: 1998-06-21 14:19:34 UTC
List: ruby-dev #2950
永井@知能.九工大です.

>>>>> "M" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
M> |現在の実装では,after で呼び出される手続きを登録する度に
M> |tk.rb の install_cmd によって,新たなコマンド番号が振られますから,
M> |たとえば点滅表示などに after を使っていると,
M> |コマンドテーブル Tk_CMDTBL が急速に巨大化していきそうです.
M> いや,分かるんですが,tclのafterがそもそもそういうものではな
M> いかと思います.それはともかく,その辺を改善すべくこういう実
M> 装を考えてみたんですが,どうもうまく動かないようです.
M>   def after(ms, cmd=Proc.new)
M>     Thread.start do
M>       ms = Float(ms)/1000
M>       ms = 10 if ms == 0
M>       sleep ms/1000
M>       cmd.call
M>     end
M>   end

after で問題になるのは,手続きを繰り返し登録して
実行させる場合であると考えて,試しに現在,
after を TkAfter なるクラスとして実装してみています.
いかがなものでしょうか?
火曜日までにもう少し試してみて,
tcltklib.c の Tk8.x 対応パッチとともに
送らせていただこうと思います.

ちなみに,こんな感じの使い方です.
-----------------------------------
x = TkAfter.new
x.start(10,proc{p 'aaa'},nil,50,proc{p 'bbb'},nil)
#       ↑    ↑         ↑  ↑   ↑          ↑
#       |    |         |  |   |      繰り返し時の引数情報
#       |    |         |  | 繰り返し時の手続き
#       |    |         |繰り返し時のインターバル
#       |    |     最初の処理時の引数情報
#       | 最初の処理時の手続き
#  最初の処理までのスリープ
-----------------------------------
繰り返し時のインターバルを省略した場合は,
最初の処理だけを行います(繰り返し after での登録はありません).
繰り返し時の手続き以降を省略した場合は,
最初の処理時の手続きを繰り返します.
インターバル時間や引数情報には,
それぞれを決定する proc を与えることもできます.

クラス下で管理することにより,
繰り返し毎に新しい proc を生成して
install_cmd したりする必要はなくなっています.
after で登録した手続きの ID も保持しますから,
上記の例で x.cancel で登録取消なども可能になります.

# 手続きの設定と,スタートとは別々にしようかとも思ったのですが,
# 現時点では一緒になっています.
# 送らせていただく時点では切り離すかもしれません.

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

In This Thread