如何用变量调用哈希值?用变量调用哈希值 - Ruby
我有这样的哈希:data = {"5/3/2013 13:31:13"=>{:open=>65, :closed=>835}}
datasequences.each do |seq_title|
sequence = Hash.new(0)
sequence[:title] = seq_title
sequence_data = Array.new(0)
data.each do |key, value|
puts value[#{seq_title.to_sym}]
# More code...
end
end
的每哈希(data
)的seq_title
值将是open
然后closed
。
例如,如果我改变代码读取
datasequences.each do |seq_title|
sequence = Hash.new(0)
sequence[:title] = seq_title
sequence_data = Array.new(0)
data.each do |key, value|
puts value[:open]
# More code...
end
end
在上面的代码红宝石输出65,但我想值[VAR](未硬编码),所以它可以输出65,并通过下一个迭代835 。
'[VARIABLE](:open,then:closed)'是什么意思呢? – 2013-05-03 17:47:46
我想调用哈希的值,就像这个值[#{seq_title.to_sym}],所以value [var]不是硬编码的。在这个例子中,它可能是value [:open]或value [:closed]。 – 2013-05-03 17:48:17
在这种情况下{{2013年5月1日10:42:40“:{”open“:10,”closed“:345},{”2013年5月2日10:42:40“:{”open “:-1,”closed“:700},{”2013年5月3日10:42:40“:{”open“: - 29,”closed“:604}}'您期望什么价值?为什么你不认为'values_at'不会工作? – 2013-05-03 18:05:25