在Ruby中做每一个,如何每n个项目放置一个br [英] Doing each in Ruby, how to place a br every n items

查看:51
本文介绍了在Ruby中做每一个,如何每n个项目放置一个br的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

鉴于我有 10 个项目要迭代,我想像这个例子一样每 3 个项目放置一个 br.我怎样才能在 Ruby 中做到这一点?

Given I have 10 items to iterate and I want to place a br every 3 of them like this example. How can I do this in Ruby?

1
2
3
<br>
4
5
6
<br>
7
8
9
<br>
10

推荐答案

解决方案 1

(1..10).each_slice(3){|a| puts '<br>' unless a[0] == 1; puts a}

解决方案 2(ruby 1.9.2)

Solution 2 (ruby 1.9.2)

(1..10).chunk{|i| i.%(3).zero?}.each{|r, a| puts(a, *('<br>' if r))}

解决方案 3

puts (1..10).each_slice(3).map{|a| a.unshift('<br>')}.flatten.drop(1)

解决方案 4(ruby 1.9.2)

Solution 4 (ruby 1.9.2)

puts ['<br>'].product((1..10).each_slice(3).to_a).flatten.drop(1)

解决方案 5

puts (1..10).each_slice(3).with_object([]){|a, aa| aa.push('<br>', *a)}.drop(1)

解决方案 6

puts (1..10).map{|i| i.%(3).zero?? [i, '<br>'] : i}

解决方案 7 (ruby1.9.2)

Solution 7 (ruby1.9.2)

puts (1..10).to_a.
  tap{|a| a.length.downto(1){|i| a.insert(i, '<br>') if i.%(3).zero?}}

这篇关于在Ruby中做每一个,如何每n个项目放置一个br的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆