22
def method
a = 3
b = 4
some_method_that_gives # [a, b]
end
def method
a = 3
b = 4
some_method_that_gives # [a, b]
end
これは、変数を提示し、シンボルの配列を出力します。あなたの場合:[:a, :b]
local_variables
は、ローカル変数をリストしますが、ローカル変数を定義する前にリストします。
p local_variables
a = 1
p local_variables
これはあなたが期待するものではないかもしれない
[:a]
[:a]
を出力します。これを参照してください。出力defined?
p defined? a
a = 1
p defined? a
と対比より予想
nil
"local-variable"
私は前にそれを見つけられませんでした信じることができません。ありがとう! – Cheng
Rubyのいくつかのバージョンは、シンボルの配列の代わりに文字列の配列を出力します。 Ruby 2.0と1.9はシンボルを使用しますが、Ruby 1.8.7は文字列を使用していました。 – inquiryqueue