有没有办法限制方法签名中传递给Ruby方法的参数?

时间:2016-11-03 17:39:25

标签: ruby

有没有办法创建一个只有在参数是1,2,3?

时才接受参数的方法

有没有办法限制传递给方法的参数?有没有像:

def some_method(number: [1,2,3])

如果我尝试传递4作为上面的关键字参数,则会引发错误消息?

1 个答案:

答案 0 :(得分:3)

不,没有类似的东西。

当然,您可以在方法中包含if个语句来检查参数,然后如果发现问题则会引发ArgumentError异常:

raise ArgumentError, "Number must be 1, 2, or 3."