>>558
俺もrubyに来たときその挙動が不思議だった。
「あとで宣言するものを参照できない仕様」くらいに思っていたけど全然違ってた

rubyは上から順に実行していってるだけで、メソッドの中は後でそのときになって実行してると考えたら>>558の挙動はしっくりきた
動的言語でのメソッドの遅延評価というだけなのか知らんが



>>558の例で言えば def a までプログラムが走ったときにそのメソッドの中身は「評価」しないと。
つまりputs bのbがそれまでに定義されているかいないかなんて見てない。そのときは評価しないんだから。


その後でコード外で、どこか別のところでaが呼ばれれば、
その中で始めてbが参照されると

こんな理解でいいの?