From: matz@... (Yukihiro Matsumoto) Date: 1999-05-29T01:37:59+09:00 Subject: [ruby-dev:7020] Re: [BUG] [Re: Local variable in for block] まつもと ゆきひろです In message "[ruby-dev:7015] [BUG] [Re: Local variable in for block]" on 99/05/28, 石塚圭樹 writes: |あと, irbは評価のコンテキストが特殊なものでそれに絡むrubyのバグがあると |動作がおかしくなります. 今回もそのパターンです. えーん,irbはruby泣かせですよねえ. |バグ報告: まずい..と思ったのですが, |b = proc{binding}.call のbindingはprocのブロックの内側で呼ばれています.bindingは 「それが呼ばれた時点の状態」を保存しますから,このbindingを 使ったevalで初出のローカル変数はブロック内での初出になります から,変数がin-block variableになるのは一応仕様通りの挙動に なります. 一方,forの中で初出のローカル変数が次のevalに持ち越されない のはバグです.これは修正しました. で,ローカル変数がすべからくlocal-variable(in-block)になって しまう問題をirbでどう解決すべきかについてはまた相談しましょ うか.妥協できる違いのような気もしますが. まつもと ゆきひろ /:|}