Ruby 遍历一个范围

Ruby 遍历一个范围,ruby,loops,iterator,Ruby,Loops,Iterator,我需要从1迭代到给定的a。我使用以下代码实现了这一点: (1..A).step(1) do |n| puts n end 还有比这更好的方法吗 我的默认步骤是1。在这种情况下,更惯用的方法是使用: 另外,步骤(1)是默认步骤,您可以简单地迭代范围本身: (1..A).each { |n| puts n } 或者,甚至使用: 请注意,Integer#次从0开始计数,因此需要+1 NB请注意下面@Stefan的非常有价值的评论。你的代码有什么问题吗?只是尝试重构以寻找更好的选择我投票关闭这个问题

我需要从
1
迭代到给定的
a
。我使用以下代码实现了这一点:

(1..A).step(1) do |n| puts n end
还有比这更好的方法吗


我的默认步骤是1。

在这种情况下,更惯用的方法是使用:

另外,
步骤(1)
是默认步骤,您可以简单地迭代范围本身:

(1..A).each { |n| puts n }
或者,甚至使用:

请注意,
Integer#次
0
开始计数,因此需要
+1


NB请注意下面@Stefan的非常有价值的评论。

你的代码有什么问题吗?只是尝试重构以寻找更好的选择我投票关闭这个问题,因为这个问题应该属于codereview.stackexchange.com。如果你只想打印数字:
put*1..A
可能值得注意的是,尽管它们产生相同的输出,但每个解决方案都有不同的返回值:
1
1..a
a
。(因为它们都返回接收器)
(1..A).each { |n| puts n }
A.times { |n| puts n + 1 }