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

case

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

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

表 4-29 case 文コマンド

コマンド 

スタックダイアグラム 

説明 

case

( selector -- selector )  

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

endcase

( selector -- ) 

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