将多维数组连接成对 Ruby

joining multidimensional array Into pairs Ruby

对于我制作的这个程序,我需要将一些数组连接到一个多维数组中:

数组是什么:

[["2", "2"]["0", "9"]["2", "2"]["2", "7"]["1", "7"]["0", "8"]["0", "1"]
["0", "9"]]

我希望它变成这样:

["22", "09", "22", "27", "17", "08", "01", "09"]

抱歉,如果这是一个非常愚蠢的问题,但如果有人能帮助我,我会很高兴,如果不可能做到这一点,请告诉我。 谢谢

试试这个:

multi_dimensional_array = [["2", "2"], ["0", "9"], ["2", "2"], ["2", "7"], ["1", "7"], ["0", "8"], ["0", "1"], ["0", "9"]]
multi_dimensional_array.map(&:join)

map 遍历数组中的条目和 returns 修改条目的数组副本。

&:join 通过使用 Symbol#to_proc 将符号转换为块,将 join 发送到迭代的每个成员:您可以阅读它,就好像它扩展为:

->(entry){ entry.send(:join) }

一般的模式是:

list = [["2", "2"],["0", "9"],["2", "2"],["2", "7"],["1", "7"],["0", "8"],["0", "1"],["0", "9"]]

# For each item in the list, transform it...
list.collect do |entry|
  # ...by joining the bits together into a single string.
  entry.join
end