如何使用数组和哈希改进我的Ruby实践?

时间:2014-07-31 23:31:40

标签: ruby arrays hash

我有array1,这是一个哈希数组,array2是一个整数数组。 array1.sizearray2.size10。我想将array2中的每个元素添加到array1中的相应哈希中。因此,array2[0]会添加到array1[0]的哈希值中。

我把它编码为:

for x in 0..array1.size
 array1[x][:array2_value] = array2[x]
end

我觉得有一种干净的方法可以做到这一点。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:3)

一种方式:

array1.each_with_index { |h,i| h[:array2_value] = array2[i] }

另:

array1.zip(array2).each { |h,v| h[:array2_value] = v }

如果不改变array1

array1.map.with_index { |h,i| h[:array2_value] = array2[i] }

array1.zip(array2).map { |h,v| h[:array2_value] = v }

答案 1 :(得分:1)

array1.map.with_index{|h, i| h.merge(array2_value: array2[i])}

array1.each_with_index{|h, i| h.merge!(array2_value: array2[i])}