4

所以我有一个数组。我想采用第一个元素并将它们分成新行。所以我的数组是=

a = [0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 

我如何将其打印为

00000
00000
00000
00000
00000

谢谢。

4

3 回答 3

12

只需使用each_sliceEnumerator 类的方法将原始数组拆分为每个包含五个元素的数组,然后join使用 Array 类的方法将五个元素数组转换为字符串:

a.each_slice(5) { |x|
  puts x.join
}
于 2013-02-27T15:13:14.633 回答
1
a.each_index do |i|
  puts if i%5 == 0
  print a[i]
end
于 2013-02-27T14:55:16.250 回答
1
a = (1..25).to_a    
(a.size / 5).times {|i| puts a.slice(i*5, 5).join}

12345
678910
1112131215
1617181920
2122232425

Array#slice需要一个索引和一个长度。在这种情况下,每 5 个元素,切出一块 5 个元素。Array#join然后获取这些元素并将它们组合成一个字符串。

于 2013-02-27T15:07:44.803 回答