返回介绍

Keyword Func...Return...EndFunc

发布于 2020-03-05 18:21:26 字数 1719 浏览 1091 评论 0 收藏 0

Func...Return...EndFunc

用于自定义用户函数,函数既可带参数也可不带参数,既可以有返回值也可以没有。

Func 函数名 ( [ByRef] $参数1, ..., [ByRef] $参数N, $可选参数1 = 默认值, ...)
...
[Return [返回值]]
EndFunc

参数

所有参数均由您定义。函数定义好后您就可以像其它内建函数一样调用它。

注意

参数前的关键字 ByRef(引用) 是可选的,它的意思是:(1) 该参数必须是变量; (2) 该变量必须可被函数修改(比如说不能是常量)。默认情况下,参数是以 值传递 的方式传递到函数的(这意味着被传递到函数中的只是变量的一份副本,函数对该副本的任何操作都不能更改原变量的值)。

使用关键字 Return(返回)可退出函数。和内建函数不同的是,用户定义函数的返回值一般是0,除非有需要才定义其它数值。

数组可作为参数传递给函数(或者被函数作为返回值返回),但在使用(传递或返回)时只需给出数组名即可(不用任何括号)。注意,函数内部不能出现其它函数的声明。

在参数表中被指定缺省值的参数叫做缺省参数,缺省值可以是宏。在定义带有缺省参数的函数时不能把缺省参数放在必要参数之间,这些缺省参数总是(必须)被放在参数表的后面位置。
在函数内部可通过宏 @NUMPARAMS 获得该函数被调用时传递进来的参数数量。

相关

Dim/Global/Local, #include

示例

; 带有三个自定义函数的示例脚本
; 请注意变量的使用,ByRef传递 以及 返回值(Return)的用法

$foo = 2
$bar = 5
msgBox(0,"今天是 " & today(), "$foo 等于 " & $foo)
swap($foo, $bar)
msgBox(0,"在变量 $foo 和 $bar 交换之后", "现在 $foo 的值是: " & $foo)
msgBox(0,"最后", "3 和 4 中较大的数是: " & max(3,4))
Exit

Func swap(ByRef $a, ByRef $b) ;交换两个变量的内容
Local $t
$t = $a
$a = $b
$b = $t
EndFunc

Func today() ;以 mm/dd/yyyy 的形式返回当前日期
return (@MON & "/" & @MDAY & "/" & @YEAR)
EndFunc

Func max($x, $y) ;返回两个数中的较大值
If $x > $y Then
return $x
Else
return $y
EndIf
EndFunc

;示例脚本结束

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文