如何将给定数字的每个连续数字传递给方法?

时间:2013-12-16 23:48:49

标签: ruby

很抱歉,如果这个问题很难理解。 让我通过示例澄清。假设我有一个方法,它给我each连续数字,最多为max给出的数字。

def numbers(max)
   max.each do |n|
     puts n
   end
end

numbers(10)
#=> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

我知道我可以使用范围1..10,但这不是我想要的。我希望这是有道理的。感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用upto

def numbers(max)
    1.upto(max) do |n|
        # do stuff with n
    end
end

另外,为什么不想使用范围?这很好用:

def numbers(max)
    (1..max).each do |n|
        # stuff
    end
end