Ruby on Rails倒序循环增量

4

我该如何从5下降到1而不是从1上升到5?我的代码如下...

<div class="field-container rating">
  <% (5..1).each do |i| %>
  <%= f.radio_button :rating, i, :id => "star#{i}" %>
  <% end %>
</div>

(1..5)从1到5递增,即1, 2, 3, 4, 5。如何正确地逆序变为5, 4, 3, 2, 1?

2个回答

10

你可以使用downto方法。


<div class="field-container rating">
  <% 5.downto(1) do |i| %>
  <%= f.radio_button :rating, i, :id => "star#{i}" %>
  <% end %>
</div>

啊,Ruby...这比我原本想到的像Python一样设置一个变量并在while循环中递减它要好得多。 - aceofbassgreg
非常简单易懂!谢谢! - hellomello

0

你可以使用 to_a.reverse

for i in (1..5).to_a.reverse
   puts i
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接