まつもと ゆきひろです

In message "Re: [ruby-dev:41893] thread.bind(sym, val) { ... }"
    on Thu, 29 Jul 2010 18:40:43 +0900, Tanaka Akira <akr / fsij.org> writes:

|スレッド変数を一時的に設定するメソッドを加えるのはどうでしょうか。
|
|たとえば Thread#bind(sym, val) { ... } として、
|ブロックを呼び出しているあいだ、スレッド変数 sym を
|val に設定する、というようなものです。
|
|  p Thread.current[:a]		# nil
|  Thread.current.bind(:a, 100) {
|    p Thread.current[:a]	# 100
|  }
|  p Thread.current[:a]		# nil に戻る
|
|スレッド変数はこのような使い方が多いので、メソッドがあってもいい
|ように思います。

多いんですか。個人的にはスレッド変数はスレッドスコープのグロー
バル変数としてだけ使い、スコープのあるような使い方の経験はな
いんですが。