我需要从 1
迭代到给定的数字 A
。我使用以下代码实现了这一点:
(1..A).step(1) do |n| puts n end
还有比这更好的方法吗?
我的默认步骤是 1。
最佳答案
在这种情况下,更惯用的 [可以说] 方法是使用 Integer#upto
:
1.upto(A) { |n| puts n }
此外,
step(1)
是默认值,您可以简单地迭代范围本身:(1..A).each { |n| puts n }
或者,甚至使用
Integer#times
:A.times { |n| puts n + 1 }
请注意,
Integer#times
从 0
开始计数,因此需要 + 1
。NB 还请注意下面@Stefan 的非常有值(value)的评论。
关于ruby - 遍历一个范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46946528/