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

case

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

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

表 4-29 case 文コマンド

コマンド  

スタックダイアグラム 

説明 

case

( selector -- selector )  

case...endcase 条件付き構造を開始します。

endcase

( selector -- ) 

case...endcase 条件付き構造を終了します。 

endof

( -- ) 

条件付き構造内の of...endof 句を終了します。 

of

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

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

次に 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 句が正常に実行されれば、テスト値はスタックから自動的に削除されます。