Gosub


跳到指定的标签并且继续执行,直到碰到 Return

Gosub, Label

参数

Label 跳转的标签名称,热键标签或者热字串标签,它执行 Label 下面的命令,直到碰到一个返回或退出。"Return" 让脚本跳回到 Gosub 下面的首个命令并且在那继续执行。"Exit" 终止当前的线程

说明

和几乎所有其他命令的参数一样,Label 可以是一个变量引用,例如 %MyLabel%,这时储存在变量中的名称被用来作为目标。然而,性能有略微地损失,因为目标 Label 每次都要“查找”,而不是仅在脚本首次运行时查找一次。

当使用一个动态 Label,例如 %MyLabel%,如果 Label 不存在,将显示一个错误对话框。要避免这种情况,可提前调用 IsLabel()。例如:

if IsLabel(VarContainingLabelName)
    Gosub %VarContainingLabelName%

虽然 Gosub 可用于简单、多用途的子程序,但考虑为更复杂的用途而使用函数

相关命令

Return, Functions, IsLabel(), Blocks, Loop, Goto

范例

Gosub, Label1 
MsgBox, Label1 子程序已经返回(它已结束)。
return

Label1:
MsgBox, Label1 子程序正在运行。
return

翻译:天堂之门 menk33@163.com 2008年11月8日