ライブラリの『シナリオGoTo』の使い方について問い合わせを受ける機会が多くなったので整理しておきます。
1.シナリオGoToの動き
基本的に『GoTo』なので、このライブラリを使って別シナリオに制御を飛ばしたら、元の場所には戻ってきません。
読み込み、実行して元の場所に戻ったりする処理はincludeとかって呼んだりします。
GoToと言ったら行ったっきりなんだと思ってください?
2.変数値の引継ぎ
そのまま『シナリオGoTo』だけ使うと、呼び出された側のシナリオの変数はすべて変数一覧の初期値で上書きされます。
呼び出し元のシナリオ実行状況から変数値を引き継ぎたい場合は、呼び出された側のシナリオの先頭で『シナリオGoto変数値引き継ぎ』を使用します。
3.データ一覧には対応していない。
基本的に、データ一覧の状態は引き継がれずデータ一覧はクリアされた状態で次のシナリオへ遷移します。
シナリオGoToの呼び出し時点で、データ一覧ファイルを上書きするかどうかをオプション指定できます。
(上書きオプションのみなので、この時点での名前付けて保存とかは別で対処が必要です。)
4.呼び出しネストの耐久度
こーゆー機能みると、どんだけシナリオ呼び出しで繋げられるのか試してみたくなるのは私の性格の問題だろうか?
シナリオA⇒シナリオB⇒シナリオA⇒シナリオB・・・ってシナリオGoToで無限ループしてみました。
とりあえず、100回超えても余裕でループ続けてましたよ?