从这个链接中,它说:
# You can define functions with optional positional arguments
function defaults(a,b,x=5,y=6)
return "$a $b and $x $y"
end
defaults('h','g') # => "h g and 5 6"
defaults('h','g','j') # => "h g and j 6"
defaults('h','g','j','k') # => "h g and j k"
try
defaults('h') # => ERROR: no method defaults(Char,)
defaults() # => ERROR: no methods defaults()
catch e
println(e)
end
我认为这个例子的目的是展示,如果提供的参数少于默认值,函数也会返回默认值。
但是为什么当提供一个或零个参数时会出现错误呢?即如何知道提供两个参数是可以的,但提供一个或零个参数是不可以的?