2014-10-22 20 views
-2

我很容易輸出數組的第一個元素('student')。但是,我試圖讓第二和第三個元素被輸出。Ruby - 輸出散列內的數組元素

散列本身是:(目前僅存在一個鍵和陣列是唯一的值)

student[name] = [test1, test2, test3] 

第一行到輸出「TEST1」是:

puts "#{student.keys.first} received #{student.values.first.first} in Test 1." 

輸出'test2'的第二行是:

puts "#{student.keys.first} received #{student.values.first(1)} in Test 2." 

這最後一行對我無效。它只是顯示數組中包含的所有元素。我只希望它顯示第二個(1的索引)。

+1

你應該把它的鍵訪問一個哈希,而不是指數。 – Stefan 2014-10-22 08:32:44

+0

你能發表一個典型的'學生'哈希包括鍵和值的例子嗎? – Stefan 2014-10-22 08:34:32

+0

'第一[1]',而不是'第一(1)' – BroiSatse 2014-10-22 08:54:05

回答

2

有一個錯字錯..改變你的括號()[]

puts "#{student.keys.first} received #{student.values.first[1]} in Test 2." 

試試這個控制檯:

student = {'name' => ['test1', 'test2', 'test3']} 
student.values.first[1] 
#=> "test2" 
0

假設student作爲空散列開始,然後運行student[name] = [test1, test2, test3]

然後當您運行student.values.first時,您將獲得[test1, test2, test3]。要檢索test2,您可以使用student.values.first[1]