サブルーチン

2021/05/18 05:53 Macro::macro 仕様

サブルーチン

call コマンドで指定のラベルまで処理行を移すことで実現しているように思えます。

サブルーチンで、引数および戻り値は利用できません。

call に与えられる引数はラベル行のみです。
また、return に戻り値(というか引数)を指定することもできません。

そのため、サブルーチンと値をやりとりする際は変数を利用することになります。

また、ラベル行を利用する性質上、サブルーチンはファイル後方に置いたほうが良いでしょう。
具体的には、end コマンドより後方に書くことべきです。
サブルーチンが始まるラベル行より前に end や return が無い場合は、サブルーチンとして記述した内容が意図せず実行されてしまいます。

複数のサブルーチンを記述する場合は、call した行に戻るため return を書きます。

使い方

; メイン処理
call subA

end

; サブルーチン
:subA
    messagebox 'exec subA'
return

制限

マクロで使用できるラベルの上限は 022 を参照してください。