2010-12-20 9 views
22
def method 
    a = 3 
    b = 4 

    some_method_that_gives # [a, b] 
end 

答えて

39

local_variables

これは、変数を提示し、シンボルの配列を出力します。あなたの場合:[:a, :b]

+0

私は前にそれを見つけられませんでした信じることができません。ありがとう! – Cheng

+1

Rubyのいくつかのバージョンは、シンボルの配列の代わりに文字列の配列を出力します。 Ruby 2.0と1.9はシンボルを使用しますが、Ruby 1.8.7は文字列を使用していました。 – inquiryqueue

4

local_variablesは、ローカル変数をリストしますが、ローカル変数を定義する前にリストします。

p local_variables 
a = 1 
p local_variables 

これはあなたが期待するものではないかもしれない

[:a] 
[:a] 

を出力します。これを参照してください。出力defined?

p defined? a 
a = 1 
p defined? a 

と対比より予想

nil 
"local-variable" 
関連する問題