我需要从 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#times0 开始计数,因此需要 + 1

NB 还请注意下面@Stefan 的非常有值(value)的评论。

关于ruby - 遍历一个范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46946528/

10-13 06:42