Ruby 初心者スレッド Part 39
■ このスレッドは過去ログ倉庫に格納されています
0563デフォルトの名無しさん
2010/11/18(木) 18:21:21俺もrubyに来たときその挙動が不思議だった。
「あとで宣言するものを参照できない仕様」くらいに思っていたけど全然違ってた
rubyは上から順に実行していってるだけで、メソッドの中は後でそのときになって実行してると考えたら>>558の挙動はしっくりきた
動的言語でのメソッドの遅延評価というだけなのか知らんが
>>558の例で言えば def a までプログラムが走ったときにそのメソッドの中身は「評価」しないと。
つまりputs bのbがそれまでに定義されているかいないかなんて見てない。そのときは評価しないんだから。
その後でコード外で、どこか別のところでaが呼ばれれば、
その中で始めてbが参照されると
こんな理解でいいの?
■ このスレッドは過去ログ倉庫に格納されています