Ruby初學者スレッド Part 9
■ このスレッドは過去ログ倉庫に格納されています
0311デフォルトの名無しさん
2006/12/09(土) 03:30:44forを使った場合、midはforの外も含むスコープに含まれる。
ということは、define_methodに渡しているブロック内のmidもそれになる。
で、for終了時点でmidの中身は:getcなので、せっかく定義した
readもgetsもgetcも、全部getcを呼び出してしまう。
eachを使ってブロックの引数としてmidを使った場合は、
midのスコープはeachのブロック内で閉じる。
だから、define_methodに渡しているブロック内のmidは、
ちゃんとそれぞれ別々の物になる。
言葉で説明するとどうもうまく書けないけど、これで通じるかな?
■ このスレッドは過去ログ倉庫に格納されています