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

if...else...then 構造

ifelsethen の 各コマンドは組み合わされて単純な制御構造を作ります。

表 4-28に条件付き実行フロー制御用のコマンドを示します。

表 4-28 if...else...then コマンド

コマンド 

スタックダイアグラム 

説明 

if

( flag -- ) 

flag が true の場合、このコマンドの後のコードを実行します。

else

( -- ) 

flag が false の場合、このコマンドの後のコードを実行します。

then

( -- ) 

ifelsethen を終了します。

これらのコマンドの書式は次のとおりです。


flag if
	(true の場合これを実行)
then	
(通常どおりに実行を継続

または


flag if
	(true の場合これを実行)
else
	(false の場合これを実行)
then	
(通常どおりに実行を継続)

if コマンドはスタックからフラグを 1 つ「消費」します。そのフラグが true (ゼロ以外) であれば、if の後のコマンドが実行されます。true でなければ、(存在する場合) else の後のコマンドが実行されます。


ok : testit  (n -- ) 
] 5 >  if  ." good enough " 
] else  ." too small " 
] then 
] ." Done. "  ; 
ok
ok 8 testit
good enough Done. 
ok 2 testit 
too small Done. 
ok 


注 -

] プロンプトは、それが現れる間は、新しいコロン定義の作成の途中であることをユーザーに示します。このプロンプトはセミコロンを入力して定義を終了すると ok に戻ります。