2012-07-23 10 views
9

私はruby 1.8.7を使用しています。私は私のスクリプトの前にスクリプトを書いたことを前に宣誓でき、それはうまくいきました。スクリプトの最下部にあるRubyメソッド?

トップに置く必要がありますか?彼らが今働く唯一の方法だと思われる。大したことではありません。私はちょうど底にそれらを持っていることを好むので、私は頼むと思った。

+1

あなたはあなたが問題を抱えているいくつかの具体的なコードを持っていますか? –

答えて

15

コードを1つ以上のBEGINブロック(awkから継承したPerlから継承)で初期化することができます。

can_i_do_this? #=>yes 

BEGIN { 
    def can_i_do_this? 
    puts "yes" 
    end 
} 

万全を期すために、また、そこにブロックを終了しています

END { 
    can_i_do_this? #=> yes 
} 

def can_i_do_this? 
    puts "yes" 
end 
5
a 
def a 
    puts "Hello world!" 
end 

Rubyでこのスクリプトを実行すると、あなたを与えるだろう。

script.rb:1:in `<main>': undefined local variable or method `a' for main:Object (NameError) 

はありませんので、あなたが一番下にそれらを持つことはできません。 Rubyはインタプリタ言語なので、実行時にはすべてのコードが解析され、処理されます。したがって、実際の参照の前にすでに定義されているコード(メソッドの呼び出し、変数の使用など)を実行することしかできません。

+0

Cool。しましょう。説明をありがとう。 –

関連する問題