Chapter3. ステートメント


3.1 制御系ステートメント

ステートメント名
SELECT…WHEN…OTHER…ENDSWITCH
機能
複数の条件式を順番に実行し、条件式が成り立った直後に処理の流れを移す。
書式
SELECT
WHEN 条件式:
 〜処理〜
WHEN 条件式:
 〜処理〜

OTHER
 〜処理〜
ENDSELECT
解説
条件式が成り立った場合には、コロン後の処理に移ります。通常、処理の最後に BREAK を置いて SELECT〜ENDSELECT の処理を抜けますが、それが無い場合は、次へ移ります。WHEN が現れても条件式のチェックを行わず、コロン後の処理に移ります。¶全ての WHEN の処理が終わったら OTHER 後の処理に移らずに SELECT〜ENDSELECTの処理を抜けます。
 どの条件式も成り立たなかった場合は OTHER の直後の命令に処理を移す。
 尚、OTHER の後に WHEN を指定する事は出来ない。
用例
「A==1」の比較が成り立った場合は命令1と命令2を実行し、「B==3」の比較が成り立った場合は命令2を実行し、「(A==2)AND(B==4)」の比較が成り立った場合は命令3を実行し、そのどれでもない場合は命令4を実行する。
SELECT
  WHEN  A == 1:
    〜命令1〜
  WHEN  B == 3:
    〜命令2〜
    BREAK
  WHEN  (A == 2) AND (B == 4):
    〜命令3〜
    BREAK
  OTHER
    〜命令4〜
    BREAK
ENDSELECT