ルビー1.8.7を使用しています。以前にスクリプトの最後に自分の関数を書いたことがあり、それがうまく機能したと断言することもできました。
それらを一番上に置く必要がありますか?それが彼らが今働く唯一の方法のようです。大したことではありません。私はそれらを一番下に置くことを好むので、私は尋ねたいと思いました.
1 つまたは複数の BEGIN ブロック (awk から継承した Perl から継承) でコードを初期化できます。
can_i_do_this? #=>yes
BEGIN {
def can_i_do_this?
puts "yes"
end
}
完全を期すために、END ブロックもあります。
END {
can_i_do_this? #=> yes
}
def can_i_do_this?
puts "yes"
end
a
def a
puts "Hello world!"
end
このスクリプトを Ruby で実行すると、次のようになります。
script.rb:1:in `<main>': undefined local variable or method `a' for main:Object (NameError)
いいえ、下に置くことはできません。Ruby はインタープリター言語であるため、コードは実行時にのみ解析および処理されます。したがって、実際の参照の前に既に定義されているコード (メソッドの呼び出し、変数の使用など) のみを実行できます。