使用ruby每个方法并将唯一结果存储在自己的变量中

时间:2013-08-08 05:12:56

标签: ruby arrays loops iterator each

我对编程世界相当新,并希望在执行以下内容时获得一些帮助:

我想使用'.each'语句迭代一些数据。从那里,我需要分别存储每个迭代。请参阅下面的编码示例。

array1 = [] 
array2 = [] 
array3 = [] 
array4 = [] 
array5 = [] 
array6 = [] 
array7 = [] 
array8 = [] 
array9 = [] 
array10 = [] 

@images_array.each do |info| 
 t = info[:title] 
 a = info[:artist] 
 m = info[:medium] 
 c = info[:collection] 
 Array.new << t << a << m << c
end 

为了清楚起见,我有10个阵列。我想将10个不同项目的标题,艺术家,媒介和收藏信息存储在他们自己的数组中。如何添加到我的每个方法以允许它动态执行?最后一行代码将允许我取消顶部的10个数组。但是,Array.new方法的问题是我无法检索特定的数组。这些项目整齐地存储,但没有存储数组的变量。

另外,如果您能想出更好的方法,请分享一下。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以采取以下方法:

@images_array.each_with_object([]) do |info,a| 
 a.push(info.values_at(:title,:artist,:medium,:collection))
end 
相关问题