我有一个由其他数组组成的数组,例如[[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]
答案 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
。