<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>Func 对象<span class="ver">[v1.1.00+]</span></h1> <p>表示可以被脚本调用的自定义或内置的函数. <a href="../commands/Func.htm">Func</a> 返回这种类型的对象.</p> <p>有关其他可以像函数一样调用的对象的信息, 请参阅<a href="Functor.htm">函数对象</a>.</p> <p>对 Func 对象的引用也被称为 <em>函数引用</em>. 要获取函数引用, 请使用 Func 函数, 例如:</p> <pre><em>; 引用一个名为 "StrLen" 的函数.</em> fn := Func("StrLen") <em>; 显示函数的信息.</em> MsgBox % fn.Name "() is " (fn.IsBuiltIn ? "built-in." : "user-defined.")</pre> <h2 id="Members">对象成员</h2> <p>属性:</p> <ul> <li><a href="#Name">Name</a>: 返回函数的名称.</li> <li><a href="#IsBuiltIn">IsBuiltIn</a>: <a href="../Functions.htm#BuiltIn">内置</a>函数返回 <i>true</i>, 否则返回 <i>false</i>.</li> <li><a href="#IsVariadic">IsVariadic</a>: 当函数为<a href="../Functions.htm#Variadic">可变参数</a>返回 <i>true</i>, 否则返回 <i>false</i> .</li> <li><a href="#MinParams">MinParams</a>: 返回函数必要参数的数目.</li> <li><a href="#MaxParams">MaxParams</a>: 对于用户定义函数返回正式声明的参数数目, 对于内置函数返回最大的参数数目.</li> </ul> <p>方法:</p> <ul> <li><a href="#Call">Call</a>: 调用函数.</li> <li><a href="#Bind">Bind</a>: 为函数绑定参数并返回<a href="Functor.htm#BoundFunc">绑定函数对象</a>.</li> <li><a href="#IsByRef">IsByRef</a>: 确定一个参数是否为 ByRef 类型.</li> <li><a href="#IsOptional">IsOptional</a>: 确定一个参数是否是可选的.</li> </ul> <div class="methodShort" id="Call"><h2>Call</h2> <p>调用函数.</p> <pre class="Syntax"> Func.<span class="func">Call</span>(Param1, Param2, ...) <em>; 需要 <span class="ver">[v1.1.19+]</span></em> Func.(Param1, Param2, ...) <em>; 旧的样式 - 不推荐</em> </pre> <dl> <dt>Param1, Param2, ...</dt> <dd>参数和返回值由函数定义.</dd> </dl> <p><span class="ver">[v1.1.07+]</span>: <code><a href="../Functions.htm#DynCall">%Func%()</a></code> 可通过名称或引用来调用一个函数, 或者通过调用对象的 __Call <a href="../Objects.htm#Meta_Functions">元函数</a>. 应该尽量使用这种语法来替代 <code>Func.()</code> 这种旧的语法.</p> </div> <div class="methodShort" id="Bind"><h2>Bind <span class="ver">[v1.1.20+]</span></h2> <p>为函数绑定参数并返回<a href="Functor.htm#BoundFunc">绑定函数对象</a>.</p> <pre class="Syntax">BoundFunc := Func.<span class="func">Bind</span>(Param1, Param2, ...)</pre> <dl> <dt>Param1, Param2, ...</dt> <dd>任意数量的参数.</dd> </dl> <p>详情和例子, 请参阅<a href="Functor.htm#BoundFunc">绑定函数对象</a>.</p> </div> <div class="methodShort" id="Name"><h2>Name</h2> <p>返回函数的名称.</p> <pre class="Syntax">FunctionName := Func.Name</pre> </div> <div class="methodShort" id="IsBuiltIn"><h2>IsBuiltIn</h2> <p><a href="../Functions.htm#BuiltIn">内置函数</a>返回 <i>true</i>, 否则返回 <i>false</i>.</p> <pre class="Syntax">Boolean := Func.IsBuiltIn</pre> </div> <div class="methodShort" id="IsVariadic"><h2>IsVariadic</h2> <p>当函数为<a href="../Functions.htm#Variadic">可变参数</a>返回 <i>true</i>, 否则返回 <i>false</i>.</p> <pre class="Syntax">Boolean := Func.IsVariadic</pre> </div> <div class="methodShort" id="MinParams"><h2>MinParams</h2> <p>返回函数必要参数的数目.</p> <pre class="Syntax">ParamCount := Func.MinParams</pre> </div> <div class="methodShort" id="MaxParams"><h2>MaxParams</h2> <p>对于用户定义函数返回正式声明的参数数目, 对于内置函数返回最大的参数数目.</p> <pre class="Syntax">ParamCount := Func.MaxParams</pre> <p>如果函数是<a href="../Functions.htm#Variadic">可变参数</a>的, <em>ParamCount</em> 表示函数在不考虑 "variadic*" 可变参数的情况下可接受的最大参数数目.</p></div> <div class="methodShort" id="IsByRef"><h2>IsByRef</h2> <p>确定一个参数是否为 ByRef(按地址传递) 类型.</p> <pre class="Syntax">Boolean := Func.<span class="func">IsByRef</span>(<span class="optional">ParamIndex</span>)</pre> <dl> <dt>ParamIndex</dt> <dd>可选: 基于 1 的参数索引. 如果省略, <em>Boolean</em> 表示此函数是否含有 ByRef 参数.</dd> </dl> <p>如果函数为内置函数或 <i>ParamIndex</i> 无效时返回空字符串; 否则返回布尔值表示此参数是否为 ByRef 类型.</p> </div> <div class="methodShort" id="IsOptional"><h2>IsOptional</h2> <p>确定一个参数是否是可选的.</p> <pre class="Syntax">Boolean := Func.<span class="func">IsOptional</span>(<span class="optional">ParamIndex</span>)</pre> <dl> <dt>ParamIndex</dt> <dd>可选: 基于 1 的参数索引. 如果省略, <em>Boolean</em> 表示此函数是否含有可选参数.</dd> </dl> <p>如果 <i>ParamIndex</i> 无效则返回空字符串; 否则返回布尔值(true / false) 表示此参数是否可选.</p> <p>如果此函数是可变参数的, 那么参数可以不进行正式声明. 支持内置函数.</p></div> <a href="https://dftg.net">dftg</a><!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "d5a9c4fcb9b6482fa53ce820d892f969"}'></script><!-- Cloudflare Pages Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"94b5af99fe02eac3","version":"2025.5.0","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfEdge":true,"cfOrigin":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"51750bb5dc4f40cc91a5ec55c63bbc01","b":1}' crossorigin="anonymous"></script> </body> </html>