加入多维数组成对Ruby

时间:2015-01-16 17:55:05

标签: ruby arrays multidimensional-array

对于这个程序,我需要在多维数组中将一些数组连接在一起:

阵列是什么:

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

我希望它变成这样:

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

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

2 个答案:

答案 0 :(得分:3)

试试这个:

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遍历数组中的条目,并返回带有修改条目的数组副本。

&:join通过使用join将符号转换为块来向迭代的每个成员发送Symbol#to_proc:您可以将其读取为扩展为:

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

答案 1 :(得分:0)

一般来说,模式是:

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