如何在Ruby中列出局部变量?

def method a = 3 b = 4 some_method_that_gives # [a, b] end 

local_variables

它输出符号数组,呈现变量。 在你的情况下: [: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"