ruby - 在 Ruby 中做每一个,如何在每 n 个项目中放置一个 br

标签 ruby

鉴于我有 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/

相关文章:

ruby-on-rails - 如何从 text_field 生成的输入中删除大小属性?

ruby - 无法加载我的 Ruby 文件

ruby - 如何使用 has_many 更新连接模型 :through association?

ruby-on-rails - Ruby 不断给出未知的错误信息

ruby - 我们可以在 Ruby 中并行运行多线程吗?

ruby-on-rails - rails 3.2 使用的默认 gem

ruby - Sinatra session 成员 "disappearing"

ruby - 如何从 ruby​​ 脚本中引用本地 gem?

ruby - 如何用 block 实例化对象?

ruby-on-rails - Rails 3.1 API 路由