if文
書式
if文は以下の形式です。
if ( 条件式 )
...
elseif ( 条件式 )
...
else
...
endif
条件式が上から順番に評価されて最初に条件を満たしたセクションが実行されます。全ての条件式が条件を満たさずelseセクションがあればelseセクションが実行されます。
セクションの実行がelseif、else、endifに達した場合は、endifの次の文に制御が移動します。
if
if文である事とifセクションの開始を示すキーワードです。
ifセクションは以下の形式です。
if ( 条件式 )
...
ifセクショはif文の先頭に一つだけ必要です。
elseif
elseifセクションの開始を示すキーワードです。
elseifセクションは以下の形式です。
elseif ( 条件式 )
...
else ifでは無くelseifであることに注意してください。
elseifセクションはオプションです。if文中に任意の数だけ存在できます。
else
elseセクションの開始を示すキーワードです。
elseセクションは以下の形式です。
else
...
elseセクションはオプションです。if文中に一つしか存在できません。
条件式
条件式となれる式は以下の二つです。
boolクラスを返す式。
数値。int、long、realクラスを返す式。
boolクラスを返す場合、値がtrueならばセクションが実行されます。
数値を返す場合、値が非ゼロならばセクションが実行されます。
スコープ
if文全体でのスコープはありません。セクションが個別のスコープを生成します。
文
セクション内の文はオプションです。セクション内に任意の数だけ存在できます。
endif
if文の終了を示すキーワードです。
endifの代わりに省略形のeiを使用できます。eiもキーワードであることに注意してください。
例
1: | class example |
2: | open method string someMethod(int arg) |
3: | if (arg > 0) // ♦1 |
4: | return "Greater than zero"; |
5: | elseif(arg < 0) // ♦1 |
6: | return "Less than zero"; |
7: | else // arg == 0 |
8: | return "zero"; |
9: | endif |
10: | em |
11: | open method string someMethod2(int arg) |
12: | if (arg) // ♦2: arg != 0 |
13: | return "Not zero"; |
14: | else // arg == 0 |
15: | return "zero"; |
16: | endif |
17: | em |
18: | ec |
♦1: bool値を評価する条件式。
♦2: 数値を評価する条件式。