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
|
'複数条件判断文の終了を宣言します。
|