По этой ссылке говорится:
# 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
Я думаю, цель этого примера — показать, что если предоставленные аргументы меньше аргументов по умолчанию, функция также вернет аргументы по умолчанию.
Но почему ошибка появляется, когда не указан один аргумент или нет? т. е. как я узнаю, что два аргумента допустимы, а один или ни одного — нет?