Ruby列出了我定义的局部变量

时间:2013-07-01 00:51:14

标签: ruby local-variables

loriginal=local_variables

a=1
b=2 
c=3

lvar=local_variables-loriginal  

puts "..........."
lvar.each{|v| puts v}  
puts "-----------"

我想打印我定义的所有局部变量 - > A,B,C。 如果我只是打印local_variables我会得到很多我不想要的东西。 根据某人的建议我尝试了上述内容,但是当我尝试它时,所有变量都出现在lorignal中(包括a,b,c)。

有没有办法只打印a,b,c?

1 个答案:

答案 0 :(得分:0)

a=1
b=2 
c=3

local_variables.each{|v| puts v}

我猜你的意思是你的代码中可能有其他变量,但你只想要其中一些变量。如何将它们放入函数然后调用local_variables?它只会在函数内打印这些变量。

如果您将变量存储在列表中,您仍可以随后使用它们执行任何操作。

unwanted=23

def ada
  a=1
  b=2
  c=3

  puts local_variables
  return a,b,c
end

mygoodlist=ada()

#not really necessary
p=0
mygoodlist.each{|e| p=p+e}
puts p