表示可以被脚本调用的自定义或内置的函数. Func() 返回这种类型的对象.
有关其他可以像函数一样调用的对象的信息, 请参阅函数对象.
对 Func 对象的引用也被称为 函数引用. 要获取函数引用, 请使用 Func 函数, 例如:
; 引用一个名为 "StrLen" 的函数. fn := Func("StrLen") ; 显示函数的信息. MsgBox % fn.Name "() is " (fn.IsBuiltIn ? "built-in." : "user-defined.")
调用函数.
Func.Call(Param1, Param2, ...) ; 需要 [v1.1.19+] Func.(Param1, Param2, ...) ; 旧的样式 - 不推荐
[v1.1.07+]: %Func%()
可通过名称或引用来调用一个函数, 或者通过调用对象的 __Call 元函数. 应该尽量使用这种语法来替代 Func.()
这种旧的语法.
为函数绑定参数并返回绑定函数对象.
BoundFunc := Func.Bind(Param1, Param2, ...)
详情和例子, 请参阅绑定函数对象.
确定一个参数是否为 ByRef(按地址传递) 类型.
Boolean := Func.IsByRef(ParamIndex)
如果函数为内置函数或 ParamIndex 无效时返回空字符串; 否则返回布尔值表示此参数是否为 ByRef 类型.
确定一个参数是否是可选的.
Boolean := Func.IsOptional(ParamIndex)
如果 ParamIndex 无效则返回空字符串; 否则返回布尔值(true / false) 表示此参数是否可选.
如果此函数是可变参数的, 那么参数可以不进行正式声明. 支持内置函数.
返回函数的名称.
FunctionName := Func.Name
返回函数必要参数的数目.
ParamCount := Func.MinParams
对于用户定义函数返回正式声明的参数数目, 对于内置函数返回最大的参数数目.
ParamCount := Func.MaxParams
如果函数是可变参数的, ParamCount 表示函数在不考虑 "variadic*" 可变参数的情况下可接受的最大参数数目.
获取一个函数的引用.
FunctionReference := Func(FunctionName)
FunctionName 为要获取引用的函数名称, 并且必须真实存在于脚本中.
函数返回对 FunctionName 的函数引用. 如果 FunctionName 不显式存在于脚本中(通过 #Include 或非动态调用的库函数等方式), 则返回 0.
本函数可用于调用函数或获取函数的信息, 比如函数参数的最小和最大数目等.
下面的示例检索一个函数的引用, 并显示其相关信息:
fn := Func("StrLen") MsgBox % fn.Name "() 是 " (fn.IsBuiltIn ? "内置函数." : "用户定义的函数.")