在开发和调试时,我有时希望能够编写一个单行代码来转储一堆变量的名称、类型和值。问题是我不知道如何访问变量的名称(如果可以的话)。
这是第一次尝试:
foo = 1
bar = "42"
baz = Hash.new
[foo, bar, baz].each do |v|
puts "#{v.???} = (#{v.class}) #{v}"
end
我希望这个程序的输出是这样的:
foo = (Fixnum) 1
bar = (String) 42
baz = (Hash) ...
我不知道什么???
应该在上面。这可以做到吗?
foo = 1
bar = "42"
baz = Hash.new
%w(foo bar baz).each do |vn|
v = eval(vn)
puts "#{vn} = (#{v.class}) #{v}"
end
但是,如果您想要一个只有 1 个参数的方法,这当然对您没有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)