別タブの実行(サブルーチン)
WinGoferでは、Ctrl欄に【EXECUTE】を指定して、別タブに書かれた操作内容を実行することができます。
何度も使う共通処理などは、シナリオ本体とは別のタブに記述することで、サブルーチンとして再利用することができます。
別タブ操作の呼び出し
別タブの操作を実行するには、EXECUTEを使用します。
なお、自分自身のタブを呼び出す(再帰呼び出し)は対応していません。
設定項目 | 内容 |
---|---|
タブ名 | 呼び出す処理が記載されているタブ名を選択します。 |
開始位置 | 呼び出し先タブでの処理開始No |
終了位置 | 呼び出し先タブでの終了No |
引数 | 呼び出し時に、親タブから子タブに渡す変数名 複数の場合は「,(カンマ)」でつなぐ |
戻り値 | 子タブでの操作終了時に、親タブに返す変数名 複数の場合は「,(カンマ)」でつなぐ |
引数と戻り値
サブルーチンに値を渡す場合は、変数に値を格納し、その変数名を「引数」として指定します。
サブルーチンから呼び出し元に値を返す場合は、サブルーチン側で値が格納されている変数の変数名を「戻り値」として指定します。
上記の例では、変数^numと^expを引数としてChild側に渡します。
Child側では、^retに値を代入して、Parent側に返します。
RETURN命令
サブルーチン側で、処理の途中で呼び出し元に返したい場合はRETURN文を使用します。
Parent側から引数として渡された 変数^expの値が0の場合は、戻り値^retに1をセットし、No4のRETURN文で処理を返します。