2011-08-02 39 views
0

如何,如果可能的話,我可以拆分此哈希:Rails的灑散

{2011=>["46", "47", "48", "49"]} 

進入

46 
47 
48 
49 

所以我得到四個單獨記錄的工作。 謝謝...

+3

這並不完全清楚你想要什麼。你能否提供更多細節? – Chowlett

回答

1

你可以遍歷它與每個。

years = {2011=>["46", "47", "48", "49"]} 

years.each do |year, values| 
    values.each do |value| 
    puts value 
    end 
end 

#=> 46 
#=> 47 
#=> 48 
#=> 49 
+0

我不認爲這是做你認爲它在做的事情。試試'years.each {| yr,val |放置val.inspect}'看看我的意思。你也可以找到'puts [1,2,3]'指導性的。 – Chowlett

+0

你是對的!更新我的方法...謝謝。 –

+0

非常感謝... – andkjaer

0
my_hash = {2011=>["46", "47", "48", "49"]} 
element1, element2, element3, element4 = my_hash[2011] 

所以

element1 
#=> "46" 
element4 
#=> "49" 
# ETC 
0

這?

ruby-1.9.2-p180 :005 > years = {2011=>["46", "47", "48", "49"]} 

=> {2011 => [ 「46」, 「47」, 「48」, 「49」]}

ruby-1.9.2-p180 :006 > years.values.flatten 

=> [ 「46」, 「47」,「 48「,」49「]

如果您有多年,Flatten只需製作一維數組。

http://www.ruby-doc.org/core/classes/Hash.html