如果我有一个数组数组,我该如何分离数组?

时间:2014-06-22 21:17:52

标签: ruby

我有一个由其他数组组成的数组,例如[[1, 52], [30, 1], [2, 1]]。我想分别使用每个单独的数组。使用循环只需将其分解为所有数字。

arrays = [[1, 52], [30, 1], [2, 1]]

irb(main):003:0* arrays.each do |array|
irb(main):004:1* puts array
irb(main):005:1> end
1
52
30
1
2
1
=> [[1, 52], [30, 1], [2, 1]]

我想循环播放数组。我可以使用什么功能?

我希望puts array能够显示此内容;

[1, 52]
[30, 1]
[2, 1]

2 个答案:

答案 0 :(得分:2)

循环遍历数组。 puts函数本身就很难看到。试试这个:

arrays = [[1, 52], [30, 1], [2, 1]]

arrays.each do |array|
  puts array.inspect
end

输出:

[1, 52]
[30, 1]
[2, 1]

另见:

puts [1, 2, 3]

输出:

1
2
3

答案 1 :(得分:-1)

p array

.................................

循环遍历数组,只是puts()没有输出数组,所以它看起来像一个数组。当您将puts()数组作为参数时,它会输出由换行符分隔的每个元素。

检查输出:

arrays = [[1, 52], [30, 1], [2, 1]]

arrays.each do |x|
  puts x.class
  puts x.size
  puts x[-1]
end

--output:--
Array
2
52
Array
2
1
Array
2
1

输出显示each()将每个内部数组分配给循环变量x。同样, 数组方法(如size()[])适用于x