【问题标题】:Ruby listing only the local variables I definedRuby 仅列出我定义的局部变量
【发布时间】:2013-07-01 00:51:14
【问题描述】:
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?

【问题讨论】:

  • 你想要变量的名称,还是它们的内容?
  • @铁皮人。实际上 local_variables 返回一个符号列表,这基本上就是我想要的符号。

标签: ruby local-variables


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 2012-03-29
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多