将变量作为Ruby中的Hash元素传递不起作用

时间:2013-07-03 14:48:41

标签: ruby hash

我在test.rb文件中有以下代码:

hello = { :credit => "Testing" }
acc = ":credit"
puts hello[a.to_sym]

当我以ruby test.rb运行它时,我应该得到Hash元素的值(测试),但我什么都没得到。

我做错了什么?提前感谢您的回答。

1 个答案:

答案 0 :(得分:4)

字符串中的冒号是让你搞砸的。

1.9.3p429 :003 > acc.to_sym
:":credit"

你需要让它只是“信用”

1.9.3p429 :004 > acc = "credit"
"credit"
1.9.3p429 :005 > acc.to_sym
:credit
1.9.3p429 :006 > hello[acc.to_sym]
"Testing"