From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-04-06T17:33:04+09:00 Subject: [ruby-dev:2088] Re: [Req] Binding.new けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :2071 ] the message: "[ruby-dev:2071] Re: [Req] Binding.new ", on Apr/06 15:23(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです もしかしたらすごい勘違いをしているのかな? という気になってきたのですが... 現状では: p = proc{binding}.call p defined? foo eval "foo = 1", p p defined? foo p eval "defined? foo" p eval "defined? foo", p -- false false "local-variable" "local-variable" で p = proc{dummy = 1; binding}.call p defined? foo eval "foo = 1", p p defined? foo p eval "defined? foo" p eval "defined? foo", p これで実行すると, false false false false となってしまいます. 最後の式は, "local-variable"となるのかな? と信じて いたのですが... そこで次の文:: >です.2番目のfalseを見る限り,仕様通りに「その場限り」という >動作をしているように見えます. この言葉が非常に気になるのですが... procのbindingはevalのたびに作られ (初期化される)るってことはないですよね? # そうだと前提が狂うなあ... __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---