30
def method
  a = 3
  b = 4

  some_method_that_gives # [a, b] 
end
4

3 回答 3

46

本地变量

它输出符号数组,呈现变量。在你的情况下:[:a, :b]

于 2010-12-20T06:17:56.643 回答
7

local_variables列出局部变量,但在定义它们之前列出它们。看到这个:

p local_variables
a = 1
p local_variables

这输出

[:a]
[:a]

这可能不是您所期望的。对比defined?

p defined? a
a = 1
p defined? a

哪个输出更令人期待

nil
"local-variable"
于 2014-02-15T17:12:13.117 回答
1

如果您正在查找包含其值的列表:

variables = self.local_variables.each_with_object({}) { |key, hash| hash[key] = eval(key.to_s) }
于 2021-04-08T18:48:26.550 回答