|
|||||||||
|
|
|||||||||
| Related Syntax | |||||||||
| declaration/definition | optional | ||||||||
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 integer x
by value integer y optional initial {1} as
set x to x + y
|
Related Syntax remainder is specified |
| ---- |