我是红宝石的新手。我想知道是否有简单的方法来执行以下操作: 我有一个多维数组= [[10,12],[15,10]] 我希望用哈希表中的值填充它的键,这些值与数组中的项目相对应。
hash:
10 - [501, 600]
12 - [700]
15 - [101,103]
我其实想要所有组合,输出应该是:
array = [[501,700],[600,700],[101,501],[103,600]]
我
答案 0 :(得分:0)
尝试这样的事情:
dimensions = [[10,12], [15,10]]
mapping = {
10 => [501, 600],
12 => [700, 700],
15 => [101, 103]
}
results = dimensions.map do |dimension_1, dimension_2|
values_1 = mapping[dimension_1]
values_2 = mapping[dimension_2]
values_1.zip values_2
end.flatten(1)
p results
# returns: [[501, 700], [600, 700], [101, 501], [103, 600]]
我唯一改变的是我在输入中复制700值以对齐数组大小以简化它