Represents a user-defined or built-in function which can be called by the script.
For information about other objects which can be called like functions, see Function Objects.
A reference to a Func object is also known as a function reference. To retrieve a function reference, use the Func function as in the following example:
; Retrieve a reference to the function named "StrLen". fn := Func("StrLen") ; Display information about the function. MsgBox % fn.Name "() is " (fn.IsBuiltIn ? "built-in." : "user-defined.")
Calls the function.
Func.Call(Parameters) ; v1.1.19+ Func.(Parameters) ; Old form - deprecated
Parameters and return value are defined by the function.
[v1.1.07+]: %Func%()
can be used to call a function by name or reference, or to call an object which implements the __Call meta-function. This should be used instead of Func.()
wherever possible.
Binds parameters to the function and returns a BoundFunc object.
BoundFunc := Func.Bind(Parameters)
Parameters can be any number of parameters.
For details and examples, see BoundFunc object.
Returns the function's name.
Func.Name
Returns true if the function is built-in and false otherwise.
Func.IsBuiltIn
Returns the number of required parameters.
Func.MinParams
Returns the number of formally-declared parameters for a user-defined function or maximum parameters for a built-in function.
Func.MaxParams
If the function is variadic, the return value indicates the maximum number of parameters which can be accepted by the function without overflowing into the "variadic*" parameter.
Determines whether a parameter is ByRef.
Func.IsByRef(ParamIndex)
ParamIndex | Optional: the one-based index of a parameter. If omitted, the return value indicates whether the function has any ByRef parameters. |
Returns | An empty string if the function is built-in or ParamIndex is invalid; otherwise, a boolean value indicating whether the parameter is ByRef. |
Determines whether a parameter is optional.
Func.IsOptional(ParamIndex)
ParamIndex | Optional: the one-based index of a parameter. If omitted, the return value indicates whether the function has any optional parameters. |
Returns | An empty string if ParamIndex is invalid; otherwise, a boolean value indicating whether the parameter is optional. |
Parameters do not need to be formally declared if the function is variadic. Built-in functions are supported.