从包含数组的数组中创建一个数组?

时间:2014-04-30 20:56:27

标签: ruby

是否有任何Ruby库:

a = [[1,2,3], [4], [5,6]]

成:

[1,2,3,4,5,6]

使用类似a.to_single_array的内容?

3 个答案:

答案 0 :(得分:3)

a.flatten!将对“a”本身执行操作。

1.9.3p448 :017 > a
 => [1, 2, [1, 2]]
1.9.3p448 :018 > a.flatten!
 => [1, 2, 1, 2]
1.9.3p448 :019 > a
 => [1, 2, 1, 2]

答案 1 :(得分:2)

flatten会发挥魔力。

1.9.3-p429 :017 > a = [[1,2,3], [4], [5,6]]
 => [[1, 2, 3], [4], [5, 6]]
1.9.3-p429 :018 > a.flatten
 => [1, 2, 3, 4, 5, 6]
1.9.3-p429 :019 >

答案 2 :(得分:1)

是的,这正是Array#flatten所做的。

irb(main):001:0> [[1,2,3], [4], [5,6]].flatten
=> [1, 2, 3, 4, 5, 6]