まつもと ゆきひろです
In message "[ruby-dev:21626] Re: rewinding for Thread"
on 03/10/15, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:
|> | 関数 -> block rb_iterate()
|> | 関数 -> Proc rb_proc_new()
|> | block -> Proc rb_block_proc()
|> | Proc -> block rb_block_pass()? rb_proc_block()?
|>
|> 直交性の観点からはそうですが、本当に必要かなあ。ほとんどのケー
|> スでrb_iterate()で代用できそう。
|
|少なくともこのケースでは、あったほうがはるかに直接的に実装でき
|ます。でないと、かなり迂遠な方法を取らざるを得ません。
rb_iterate()の第4引数にProcを渡すんでしょうね。しかし、直接
的に実行できるのが嬉しいほどこのような使い方をするかどうかが
そもそも疑問です。
|> 1.9でやりましょう。もうちょっと待って。例のバグ(ruby_scopeを
|> 使わない)を直したら1.8.1を出しますから。
|
|1.9ではeval.cからのThread関連の分離を試してみたかったんですが、
|考えてみれば必要な要素としては結構重なってる部分があるかも知れ
|ません。マシンスタックから独立したRubyスレッドコンテキストとか。
そのまましばらくお待ちください。