鉴于我有 10 个项目要迭代,我想像这个例子一样每 3 个项目放置一个 br。我如何在 Ruby 中执行此操作?
1
2
3
<br>
4
5
6
<br>
7
8
9
<br>
10
最佳答案
解决方案一
(1..10).each_slice(3){|a| puts '<br>' unless a[0] == 1; puts a}
解决方案 2(ruby 1.9.2)
(1..10).chunk{|i| i.%(3).zero?}.each{|r, a| puts(a, *('<br>' if r))}
方案三
puts (1..10).each_slice(3).map{|a| a.unshift('<br>')}.flatten.drop(1)
解决方案 4(ruby 1.9.2)
puts ['<br>'].product((1..10).each_slice(3).to_a).flatten.drop(1)
方案五
puts (1..10).each_slice(3).with_object([]){|a, aa| aa.push('<br>', *a)}.drop(1)
方案六
puts (1..10).map{|i| i.%(3).zero?? [i, '<br>'] : i}
方案七(ruby1.9.2)
puts (1..10).to_a.
tap{|a| a.length.downto(1){|i| a.insert(i, '<br>') if i.%(3).zero?}}
关于ruby - 在 Ruby 中做每一个,如何在每 n 个项目中放置一个 br,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5575172/