OpenBoot 2.x コマンド・リファレンスマニュアル

case

高水準の case コマンドであり、複数の候補のなかから代替実行フローを選択するために用意されています。このコマンドの方が、深く入れ子になった ifthen コマンドよりも読みやすいという利点があります。

表 4-22に条件付き case コマンドを示します。

表 4-22 case文コマンド

コマンド  

スタックダイアグラム 

説明 

case

( selector -- selector )  

caseendcase 条件付き構造を開始します。

endcase

( selector | {empty} -- ) 

caseendcase 条件付き構造を終了します。

endof

( -- ) 

caseendcase 条件付き構造内の ofendof 句を終了します。

of

( selector test-value -- selector | {empty} ) 

case 条件付き構造内の ofendof 句を開始します。

case コマンドの使用例を示します。


ok : testit  ( testvalue -- )
]  case  0  of  ." It was zero "  endof 
]    1  of  ." It was one "  endof 
]    ff of  ." Correct "  endof 
]    -2 of  ." It was minus-two "  endof 
]    ( default )  ." It was this value: "  dup . 
]  endcase   ." All done."  ; 
ok
ok 1 testit
It was one All done.
ok ff testit
Correct All done.
ok 4 testit
It was this value: 4 All done.
ok 


注 -

(省略可能な) default 句はまだスタックにあるテスト値を使用できますが、その値を削除してはなりません ( . でなく dup .を使用してください)。 of 句が正常に実行されれば、テスト値はスタックから自動的に削除されます。