iLogic の条件ステートメント

iLogic のルールを作成するには、Visual Basic (VB.NET)プログラム言語を使用します。If-Then-Else などの条件ステートメントによって、特定の基準に従ってアクションを実行できます。

iLogic の If-Then-Else ステートメント

If-Then-Else ステートメントでは、条件が真の場合、一連のアクションが実行され、条件が偽の場合、別の一連のアクションが実行されます。

(1) 条件 (2) 真 (3) 偽 (4) 条件が真の場合、このステートメントが実行されます (5) 条件が偽の場合、このステートメントが実行されます

真または偽のステートメントが実行された後、プログラムの制御が次のステートメントで再開されます。

iLogic では、If-Then-Else 構造を実装するためにブロックや複数行の書式を使用することができます。

たとえば、次のいずれかを入力します。

If size = “small” Then
length = 6.0
Else
length = 12
End If

条件式が true の場合、Then キーワードと Else キーワード間のステートメントが実行されます。Else キーワードと End If キーワード間のステートメントは省略されます。条件式が false の場合、Else キーワードと End If キーワード間のステートメントが実行されます。Then キーワードと Else キーワード間のステートメントは省略されます。いずれの場合も、プログラムの制御は、End If ステートメントの後に再開されます。

iLogic の If-Then ステートメント

If-Then-Else ステートメントでは、条件が truefalse のいずれでもアクションが実行されます。ただし、状況によっては条件が true の場合にのみ 1 つまたは一連のアクションが実行され、条件が false の場合にはアクションが実行されないこともあります。

(1) 条件 (2) 真 (3) 条件が真の場合、このステートメントが実行されます (4) 偽

If 構造の Else の部分は省略することができます。次の例を参照してください。

If size = “small” Then
length = 6.0
End If

iLogic の null や empty のアクション

If ステートメントのブロック書式では、null または empty のアクションを使用することもできます。たとえば、次のブロックのように「条件が真の場合には何も実行せず、それ以外の場合には何らかの処理を実行する」ように記述できます。

If length  > 20 Then
Else MessageBox.Show(" Invalid Size.Length must be at least 20 in. ", "Title")
End If

空のアクションを使用する場合は、通常は true のステートメントを実行する箇所にコメントを記述して容易に判読できるようにする必要があります。

If length  > 20 Then’do nothing
Else MessageBox.Show(" Invalid Size.Length must be at least 20 in ", "Title")
End If

1 行のステートメントとしての If ステートメントの使用

If ステートメントのブロック書式は判読が容易ですが、1 行で If ステートメントを記述することもできます。この書式では、End If ステートメントは使用しません。

記述の例を次に示します。

If length < 20 Then MessageBox.Show("Length is Too Short", "Title")
If mass < 1000 Then length =20 Else length =40

条件式でのブール変数の使用

ブール変数は、True または False の値を保持することができ、関係式を記述可能な任意の位置で使用できます。

たとえば、次の 2 つのステートメントは等価です。

If Feature.IsActive("Fillet1") = true Then . . .
If Feature.IsActive("Fillet1") Then . . .

2 番目のステートメントは、True 値を暗示しています。

同様に、次の 2 つのステートメントは、ブール変数が偽であるかどうかを評価するために両方を使用することができます。

If Feature.IsActive("Fillet1") = false Then . . .
If Not Feature.IsActive("Fillet1") Then . . .

これらの例では、関数の結果を示しました。また、パラメータ名をブール変数として使用しているものや、ローカル変数にブール値を格納しているものがありました。

iLogic の条件ステートメントのケース構造

ケース構造では、複数の候補からの選択が可能です。

(1) シフト コードのケース (2) ケース "1" (3) ケース "2" (4) ケース "3" (5) これら以外のケース(Else) (6) シフト コード = "1" の処理 (7) シフト コード = "2" の処理 (8) シフト コード = "3" の処理 (9) シフト コードが "1"、"2"、"3" 以外の場合の処理

ケース構造は、If 構造を拡張したブロックや Select Case ステートメント構造を使用して実装できます。

iLogic の If ステートメントの拡張ブロック(If-Then-ElseIf)

If ステートメントの拡張ブロックでは、1 つまたは複数の ElseIf 句を使用して、最初の If 句と最後の Else 句の間にネスト構造を作ります。ElseIf キーワードは 1 語です。

次の例を参照してください。

If material = "Steel" Then
density = 0.284
ElseIf material = "Copper" Then
density = 0.323
ElseIf material = "Aluminum" Then
density = 0.098
End If

この形式では、プログラムが、最初に検出された真の条件式に関連付けられたステートメントを実行します。次に、End If ステートメントの後のステートメントに出ます。最後の Else ステートメントは、前の IfElseIf の条件に一致しない条件が予期せず発生したときのエラーをトラップするために使用します。

ElseIf は、ネストされた If 構造で複数の End If ステートメントを記述する手間を省くために使用します。比較のために、前の例のもう 1 つの記述例を示します。

If material = "Steel" Then
density = 0.284
Else
If material = "Copper" Then
density = 0.323
Else
If material = "Aluminum" Then
density = 0.098
End If
End If
End If

iLogic の Select Case ステートメント

Select Case はさまざまなオプションがある強力なステートメントです。

たとえば、次のいずれかを入力します。

Select Case material
Case “Steel”
density =0.284
Case “ Copper”
density = 0.323
Case “Aluminum”
density = 0.098
Case Else
density = 0
MessageBox.Show("not a valid material" , "Warning")
End Select

この例では、Select Case ステートメントで評価対象の式を指定しています。後続の各 Case 句では 1 つまたは複数の式を指定して、評価式と比較します。最初の Case 句は、評価式と照合する式を含み、実行するアクションに関連付けられています。プログラム制御は、次に End Select ステートメントの後のステートメントへ分岐します。最後の Case Else 句は、評価式の予期しない値が前のいずれの Case 句の式リストにも一致しないときに発生するエラーをトラップするために使用します。

Select Case に続く評価式は、次のように複雑な式にすることもできます。

Select Case radius +1
Select Case  MinOfMany(x,y,z)

Case 句内の式リストは、次の任意の形式で記述できます。

スタイル 例 :
<式>[,式,...] Case 1, 10, 100

Case “Y”, “y”

<式> To <式> Case 1 To 9

Case “A” To “C”

Is<関係演算子の式> Case Is >= 21
(上記の組み合わせ) Case Is <= 5, 20 To 29, 43

たとえば、次のいずれかを入力します。

Select Case width
Case 1,2,3,4,5
MessageBox.Show("Small Plate", "Size")
Case 6 to 15
MessageBox.Show("Medium Plate", "Size") 
Case Is > 15
MessageBox.Show("Large Plate", "Size")
End Select

Select Case ステートメントは、1 つの特定の変数または式と関連付ける必要がありません。次の形式で任意の数の条件を評価するために使用できます。

Select Case True
Case length >= 10
width = length -1
thickness = length/5
Case length < 10
width = length - .75
thickness = length/6
End Select