从保存为哈希值的2d数组中访问元素的最佳方法是什么?

时间:2017-06-30 15:39:13

标签: ruby-on-rails arrays ruby hash

我有一个哈希值,它的值是二维数组,例如

hash = {
"first" => [[1,2,3],[4,5,6]],
"second" => [[7,88,9],[6,2,6]]     
}

我想访问要在xls文件中打印它们的元素。

我是这样做的:

hash.each do |key, value|
  value.each do |arr1|
    arr1.each do |arr2|
      arr2.each do |arr3|
        sheet1.row(row).push arr3
      end
    end
  end
end

有没有更好的方法来访问每个单独的元素而不使用每个语句4次?

期望的结果是将键值对中的每个值作为数组,例如

=> [1,2,3,4,5,6] #first loop
=> [7,88,9,6,2,6] #second loop
 #and so on

2 个答案:

答案 0 :(得分:3)

undefined

答案 1 :(得分:2)

不像以下那样简单:

hash.each do |k,v|
  sheet1.row(row).concat v.flatten
end