如何在Ruby中创建一个整数循环?

73
我在视图中有一个变量“x”。我需要显示代码“x”的次数。
我基本上想设置一个类似这样的循环:
for i = 1 to x
  do something on (i)
end

有没有一种方法可以做到这一点?

5个回答

116

如果你在Rails中的erb视图中这样做,请注意<%<%=之间的区别。你需要的是:

<% (1..x).each do |i| %>
  Code to display using <%= stuff %> that you want to display    
<% end %>

对于纯粹的 Ruby,请参考:http://www.tutorialspoint.com/ruby/ruby_loops.htm


103
x.times do |i|
    something(i+1)
end

7
这就是 Rails 的方式。 - Willian
1
第一次迭代将是i=0。在这个例子中,i+1实际上导致了基于1的迭代,正如OP所请求的那样。 - Jon Schneider

15

虽然其他解决方案也能工作,但这个使用了for循环,因此是最正确的答案。 - Andrew
这是在Ruby中执行FOR循环的更好解决方案。 - Diego Somar

11

尝试以下简单的 Ruby 魔法 :)

(1..x).each { |n| puts n }
x.times { |n| puts n }
1.upto(x) { |n| print n }

11

您可以在范围从1到`x´上执行一个简单的each循环:

(1..x).each do |i|
  #...
end

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