开发者

How to list local-variables in Ruby?

开发者 https://www.devze.com 2023-01-31 04:44 出处:网络
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 va
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

精彩评论

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