Gosub

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

Gosub[編集]

指定ラベルにジャンプし、Returnが実行されたら戻ってくる。

Gosub, Label

Parameters[編集]

引数名 説明
Label ラベル名。ホットキーラベルやホットストリングラベルも可能。
%LabelName%のような変数参照であってもよい。
ただし、実行時にラベル名を解決するため、パフォーマンスは若干下がる。

Remarks[編集]

Gosubを実行すると、指定ラベルの次の行に処理が移動し、以下の処理を実行する。
Returnコマンドが実行されると、呼び出しもとのGosubの次の行に処理が戻る。

Labelに存在しないラベルを指定すると、実行時にエラーダイアログが表示される。
ラベル名を設定ファイルから読み込むなど、存在しないラベルが指定される恐れがある場合は、下記の例のように IsLabel()関数でラベルが存在するかを調べてから実行するとよい。

IniRead,label,%ini%,%sec%,%key%
If(IsLabel(label))
{
  Gosub,%label%
}

Related[編集]

Return, Blocks, Loop, Whileループ, Goto, IsLabel()

Example(s)[編集]

Gosub, Label1 
MsgBox, The Label1 subroutine has returned (it is finished).
Return
Label1:
MsgBox, The Label1 subroutine is now running.
Return