From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 1999-05-28T14:45:21+09:00 Subject: [ruby-dev:7015] [BUG] [Re: Local variable in for block] けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :6999 ] the message: "[ruby-dev:6999] Re: Local variable in for block ", on May/26 15:24(JST) Akira Endo writes: >遠藤です。 >> 大丈夫のようですね. >ありゃ?? ほんとですね。irbのバグだ〜。irbってとっても好き どうもご使用ありがとうございます(__;; >なんですけど、複数行にまたがると、他にも何かあったようです。 irbって一行一行実行していくのでもとのrubyとはどうしても動作が変わってし まうことがあります. 詳しくはREADMEの最後の方をみてくださいませ. あと, irbは評価のコンテキストが特殊なものでそれに絡むrubyのバグがあると 動作がおかしくなります. 今回もそのパターンです. irbを使っていて, あれ変だな? と思われましたら. irb --single-irb で実行してみてください. それで動作が変わった(正常になった)場合は, きっと rubyのバグなので報告してあげましょう(^^;;; バグ報告: eval " for i in 1..1 j = i p defined? i p defined? j end " eval " p defined? i p defined? j " == "local-variable(in-block)" "local-variable(in-block)" "local-variable(in-block)" "local-variable(in-block)" なのに, 以下では b = proc{binding}.call eval " for i in 1..1 j = i p defined? i p defined? j end ", b eval " p defined? i p defined? j ", b == "local-variable(in-block)" "local-variable(in-block)" nil nil になる. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@rational.com <<---