遍历数组 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
我有一组数字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