SELECT CASE  (ステートメント)


複数条件判断を行ないます。


SELECT CASE <式>
CASE <項目>[,<項目>...]
:
[CASE ELSE]
END SELECT


<式>の値がCASE文の<項目>に一致する場合、そのCASE以降の一連の命令を実行します。
<式>には、数式または文字列を指定できます。
<項目>では、変数、定数、式および条件式を指定することができます。
条件式は、次のように指定できます。
  • <数式1> TO <数式2>
    <式>の結果が<数式1>以上、<数式2>以下であるかどうか調べます。
    文字列の場合は使用できません。
  • IS <比較演算子><数式>
    <式>の結果と<数式>の値を比較します。
    文字列の場合、<比較演算子>は"="のみとなります。
CASE ELSE文は、すべてのCASE文が一致しなかった場合に実行されます。
また、CASE ELSE文は、END SELECT文の前に置かなければなりません。



REM 複数条件判断を行ないます。
SELECT CASE Index
'Indexの値がCASE文の値と一致した場合、そのコマンドが実行されま
'す。
CASE 0
'Indexが0の場合。
STOP
'プログラムを終了します。
CASE 1
'Indexが1の場合。
HALT "STOP"
'プログラム実行を一時停止します。
CASE 2
'Indexが2の場合。
HOLD "STOP"
'プログラム実行を一時停止します。
CASE 3
'Indexが3の場合。
STOPEND
'連続起動されたプログラムをサイクル停止します。
CASE 4
'Indexが4の場合。
ON li1 + li2 GOSUB *samp1, *samp2, *samp3
'li1 + li2の値と同じ順位に書かれたラベル
'名のサブルーチンを呼び出します。
CASE 5
'Indexが5の場合。
ON li1 + li2 GOTO *samp1, *samp2, *samp3
'li1 + li2の値と同じ順位に書かれたラベル
'へジャンプします。
CASE 6 TO 8
'Indexが6~8の場合。
PRINTDBG "予約"
'デバッグウィンドウにメッセージを出力します。
CASE IS ≧ 9
'Indexが9以上の場合。
END
'プログラムによる動作の終了を宣言します。
END SELECT
'複数条件判断文の終了を宣言します。