4D v16.3

If...Else...End if

ホーム

 
4D v16.3
If...Else...End if

If...Else...End if  


 

 

If...Else...End if による制御フロー構造の正式な構文は以下のようになります。
 

 If(Boolean_Expression)
    Statement
 Else
    Statement
 End if

注:Else 部分は、オプションであり省略し、以下のように記述できます。

 If(Boolean_Expression)
    Statement
 End if

If...Else...End if 構造は、メソッドにテスト(ブール式)がTRUEかFALSEかにより2つの流れを与えます。

ブール式がTRUEの場合は、テストのすぐ後のステートメントを実行し、ブール式がFALSEの場合には、Else 文のすぐ後のステートメントを実行します。Else 文は任意です。Else が省略されていた場合、End ifのすぐ後のステートメント(あれば)へと実行が続行されます。

ブール式は常に全体が評価されるという点に注意してください。例えば、以下のような場合を考えます:

 If(MethodA & MethodB)
    ...
 End if

この場合、両方のメソッドがTRUEである場合に限り、式はTRUEになります。しかしながらMethodAがFALSEであっても、4DはMethodBも評価します。つまりこれは時間の無駄になります。この場合、以下のような構造を使用するほうが賢明といえます:

 If(MethodA)
    If(MethodB)
       ...
    End if
 End if

上記の結果はほぼ同じで、MethodB は必要な場合にのみ評価されます。

 

  ` ユーザーに名前を入力させる
 $Find:=Request(Type a name)
 If(OK=1)
    QUERY([People];[People]LastName=$Find)
 Else
    ALERT("You did not enter a name.")
 End if

Tips:一方の条件に実行ステートメントがない分岐処理を書けます。

 If(Boolean_Expression)
 Else
    statement
 End if

または

 If(Boolean_Expression)
    statement
 Else
 End if



参照 

Case of...Else...End case
For...End for
Repeat...Until
While...End while
制御フロー

 
プロパティ 

プロダクト: 4D
テーマ: プログラミング言語の構成要素

 
履歴 

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)