这是在红宝石中最干燥的方法吗?
<% for item in @items %>
<%= n = n + 1 rescue n = 1 %>
<% end %>
它将“n”初始化为“1”并随着循环的进行增加它(并打印出来),因为这是我的应用程序的一个视图
这是在红宝石中最干燥的方法吗?
<% for item in @items %>
<%= n = n + 1 rescue n = 1 %>
<% end %>
它将“n”初始化为“1”并随着循环的进行增加它(并打印出来),因为这是我的应用程序的一个视图
您可以使用三元运算符:
<% for item in @items %>
<%= n = n ? n+1 : 1 %>
<% end %>
但是,根据您要执行的操作,我猜 each_with_index 会更合适
<% @items.each_with_index do |item, n| %>
<%= n %>
<% end %>
您还可以依靠 ruby 的 nil 强制转换为整数,结果为零。
<% for item in @items %>
<%= n = n.to_i + 1 %>
<% end %>
嗯。
n = @items.size