开发者

How to list local-variables in Ruby?

def method
  a = 3
 开发者_如何学Go b = 4

  some_method_that_gives # [a, b] 
end


local_variables

It outputs array of symbols, presenting variables. In your case: [:a, :b]


local_variables lists local variables but it lists them before they are defined. See this:

p local_variables
a = 1
p local_variables

this outputs

[:a]
[:a]

which may not be what you expect. Contrast with defined?

p defined? a
a = 1
p defined? a

which outputs the more anticipated

nil
"local-variable"


if you're looking for the list with their values:

variables = self.local_variables.each_with_object({}) { |key, hash| hash[key] = eval(key.to_s) }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜