|
|||||
declaration/definition | optional | ||||
Related Syntax | Related Concepts |
Syntax
argument-class argument-type argument-name optional (initial {initial-values})?
Declares a function's argument as optional. An optional argument can be omitted from a call by omitting the preceding function argument separator together with the value of the argument.
A value argument that is declared optional
can also be provided with a default value or values in curly braces ("{ }"). Modifiable and read-only arguments can also be declared optional
, but they can't have default values. Remainder arguments can't be optional
.
When an optional argument with no default value is omitted from a function call, it is illegal to access that argument from within the function in any way, except to test whether it was specified. (Whether an optional argument was specified in a call can be determined using the is specified
argument test.)
In particular, for an argument whose value is not specified in the function call, these two statements can be made:
initial
. Note that the argument still isn't specified, even though it has a value.
is specified
, is an error.
For example, the following function is defined with an optional argument:
define function increment modifiable counter x by value counter y optional initial {1} as set x to x + y
Related Syntax remainder is specified value |
Related Concepts Functions: argument separator ambiguity Functions: using the same argument separator in different definitions |
---- |