原です。
In message "[ruby-list:15089] Re: Thread safe eRuby"
on 99/06/22, Yukihiro Matsumoto <matz / netlab.co.jp> writes:
|
|まつもと ゆきひろです
|そうですね。$>がスレッドローカルでないのでできないという話で
|したね。しかし、考えてみれば、1.3からはスレッドローカルデー
|タがあるので、
|
| $> = Object.new
| def $>.write(str)
| unless Thread.current['defout']
| ...initialize..
| end
| defout = Thread.current['defout']
| defout.write(str)
| end
|
|なんて手も使えるような気がして来ました。
あ、なるほど。頭が 1.3 になってないなあ。(^^;
でも、ここで本当に欲しいのはスレッドローカルではなくて、ブロック
でダイナミックスコープを持つデータというか、そういうもんですね。
でもなぜか Thread.start{yield}.value という手法で作れてしまうん
で、結局OKなわけだけど。