Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  if 文
if 文

条件によって実行を分岐するための if 文について説明します。


目次:


書式

if

elseif

else

条件式

スコープ

endif

書式

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 ならばセクション内の文が実行されます。

数値を返す場合、値が非ゼロならばセクション内の文が実行されます。

条件式が proxy クラスを返す場合は proxy クラスの実体が自動的に使用されます。proxy クラスの Entity ゲッターを呼び出したのと同じ結果になります。


proxy pro = new proxy(true);

if(pro) // pro.Entity is used.

...

endif


条件式として使用されるので、proxy クラスの実体は bool クラスか数値でなければなりません。

スコープ

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: 数値を評価する条件式。

Copyright © Rice All rights reserved.