まつもと ゆきひろです

In message "[ruby-list:13971] Re: Message of Today in 1999/04/20."
    on 99/04/21, Yukihiro Matsumoto <matz / netlab.co.jp> writes:

|久野さんがbitでなされたCLUでの説明があると分かりやすそうです
|が.前田さん,コピー持ってたっけ?

持ってらっしゃいました.見せてもらいました.
# 隣の席ってのは便利だ.

で,私は勘違いしてました.つまり,CLUのスコープはネストしな
いというのを,手続き全体がひとつのスコープであると思い込んで
ました.実際にはブロック(この場合は「普通の」ブロック)がスコー
プの単位ですから,

|これは以下の例で分かりますか?
|
|   def foo
|     var1 = nil
|     loop do
|       var2 = 5
|       ...
|     end
|     defined? var1      #=> true
|     defined? var2      #=> false
|     loop do
|       var2 = 20
|       ...
|     end
|   end

のような状況はCLUでも起きると言うことです.なあんだ.

でも,私は今でもできるものならばこのようなネストも発生しない
ようにしたかったです.でも,今のRubyの文法ではそうすると
ThreadやProcでハマってしまうのです.;_;

                                まつもと ゆきひろ /:|)