如何用變量調用哈希值?用變量調用哈希值 - 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