遍历数组 ruby

Looping through array ruby

我有一组数字123456789

我正在写一个循环,所以每 3 个 numbers/characters 它插入一个逗号,然后开始一个新行。

我会为此使用什么类型的循环?我如何告诉每 3 个数字 ruby? "123456.each_char.limit(3)"?我知道限制是不正确的,但希望我能理解这个想法。

如果数字集是一个字符串,您可以使用 Enumerable#each_slice 将字符分成 3 个一组,然后在打印到控制台之前将它们连接在一起:

[21] pry(main)> "123456789".chars.each_slice(3) { |a| p "#{a.join}," }
"123,"
"456,"
"789,"
puts 123456789.to_s.gsub(/(.{3})/,"\1,\n")

结果:

123,
456,
789,

替代循环方式:

"123456789".each_char.with_index(1) do |item, index|
    if index % 3 == 0
        print item + ",\n"
    else
        print item
    end          
end