我很抱歉这个问题。 请读。
答案 0 :(得分:4)
是的,它是相同的,但数字告诉你它的期望。如果方法如下所示,那么两个必需参数和一个可选:
def test_method(arg1, arg2, arg3 = 1)
// code
end
如果您之后没有参数调用以下内容:
test_method
您会看到确切的消息。它说你需要给它2个或全部3个参数。
答案 1 :(得分:0)
是的,这是同样的错误,这里的事情是,如果你看到
ArgumentError: wrong number of arguments (0 for 1)
它说它需要1个参数并且有0
ArgumentError: wrong number of arguments (given 0, expected 2..3)
在这里它说它需要2或3个参数并且有0。
2..3
是一个范围,所以如果你看到2..5就说它可以有2,3,4或5个参数
答案 2 :(得分:0)
Ruby解释器检查有多少参数需要method
,如果你调用此method
将有不同数量的参数,解释器将引发ArgumentError
。
def summ(a, b)
a + b
end
使用一个参数调用=> summ(1)
会引发错误。