When defining functions, one or more arguments can be given a default value such as f(arg = val)
. If no parameter is supplied for arg
, then val
is taken as the value of arg
. The position of these arguments in the function's input is important, just as it is for normal arguments; that's why they are called optional
positional arguments. Here is an example of a f
function with an optional argument b
:
# code in chapter 3\arguments.jl: f(a, b = 5) = a + b
If f(1)
, then it returns 6
, f(2, 5)
returns 7
, and f(3)
returns 8
. However, calling it with f()
or f(1,2,3)
returns an error, because there is no matching function f
with zero or three arguments. These arguments are still only defined by position: calling f(2, b = 5)
raises an error as ERROR: function f does not accept keyword arguments
.
Until now, arguments were only defined by position. For code clarity, it can be useful to explicitly call the arguments by name, so they are called optional keyword arguments. Because...