指定ラベルにジャンプし、Returnが実行されたら戻ってくる
Gosub, Label
引数名 | 説明 |
---|---|
Label |
ラベル名。ホットキーラベルやホットストリングラベルも可能。 「%LabelName%」のような変数参照であってもよい。 ただし、実行時にラベル名を解決するため、パフォーマンスは若干下がる。 |
Gosubを実行すると、指定ラベルの次の行に処理が移動し、以下の処理を実行する。
Returnコマンドが実行されると、呼び出しもとのGosubの次の行に処理が戻る。
Labelに存在しないラベルを指定すると、実行時にエラーダイアログが表示される。
ラベル名を設定ファイルから読み込むなど、存在しないラベルが指定される恐れがある場合は、下記の例のように「IsLabel()」関数でラベルが存在するかを調べてから実行するとよい。
IniRead,label,%ini%,%sec%,%key% If(IsLabel(label)) { GoSub,%label% }
Gosub, Label1 MsgBox, The Label1 subroutine has returned (it is finished). return Label1: MsgBox, The Label1 subroutine is now running. return