2013-04-19 63 views
0

我已經遍佈interwebs,並且似乎無法找出如何訪問散列內的數組。遍歷遍歷的方式很多,但也不是簡單的訪問。數組的紅寶石散列,檢索值

hash = Hash.new() 
data1 = "foo" 
data2 = "bar" 
hash["foobar"] = {data1, data2} 

這一切工作,現在我怎麼能訪問的散列內的數據1和數據2 單獨

我在想放hash["foobar"][0]應輸出foo,但它返回nil

注意:散列中的每個數組都有2個元素。

我知道答案是一個簡單的1班輪,我似乎無法找到它。

+1

注意:Ruby使用'[...]'作爲數組文字,而不是'{...}'(散列文字)。修復(代碼的最後一行)可能會幫助解決您的問題。 – michaelb958

+0

尤里卡!那樣做了!我去過的每個網站都使用花括號。 – AnthonyW

+0

我會將其添加爲答案。 – michaelb958

回答

2

正如我評論的問題,數組文字是方括號[ ],而不是花括號{ }。改變你的最後一行:

hash["foobar"] = [data1, data2] 

(你都拿到零 大概 因爲散列字面沒有0關鍵測試here表明,顯然可以作爲=>(*不寒而慄*),所以你iteral是相當於{data1 => data2}。)