表示自定义或内置的函数, 并提供一个接口来调用, 将参数与其绑定, 以及检索它或它的参数的信息. 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)
如果省略, Boolean 表示此函数是否含有 ByRef 参数. 否则, 请指定基于 1 的参数索引.
如果函数为内置函数或 ParamIndex 无效时, 此方法返回空字符串; 否则返回一个布尔值, 表示此参数是否为 ByRef 类型.
确定一个参数是否是可选的.
Boolean := Func.IsOptional(ParamIndex)
如果省略, Boolean 表示此函数是否含有可选参数. 否则, 请指定基于 1 的参数索引.
如果 ParamIndex 无效, 此方法返回空字符串; 否则返回布尔值(true / false) 表示此参数是否可选.
如果此函数是可变参数的, 那么参数可以不进行正式声明. 支持内置函数.
返回函数的名称.
FunctionName := Func.Name
返回函数必要参数的数目.
ParamCount := Func.MinParams
对于用户定义函数返回正式声明的参数数目, 对于内置函数返回最大的参数数目.
ParamCount := Func.MaxParams
如果函数是可变参数的, ParamCount 表示函数在不考虑 "variadic*" 可变参数的情况下可接受的最大参数数目.
获取一个函数的引用.
FunctionReference := Func(FunctionName)
要获取引用的函数名称. 此函数必须显式存在于脚本中.
Func 返回对 FunctionName 的引用.如果 FunctionName 不显式存在于脚本中(通过 #Include 或非动态调用的库函数等方式), 则返回 0.
Func 可用于调用函数或获取函数的信息, 比如函数参数的最小和最大数目等.
下面的示例检索一个函数的引用, 并显示其相关信息:
fn := Func("StrLen") MsgBox % fn.Name "() 是 " (fn.IsBuiltIn ? "内置函数." : "用户定义的函数.")