While...End While ステートメント

While...End While ステートメントは、ブーリアン演算テスト式に応じて動作します。テスト式で True と評価されている限り、ステートメントは繰り返され続けます。次の例では、単純な While...End While ループを示します。

Dim counter As Integer = 0
Dim total As Integer = 0
While counter < 10
   total = total + counter
   counter = counter + 1
End While

次の例に示すように、Exit ステートメントを使用することで While...End While ループから抜け出すことができます。

この例では、パラメータがいくつかの項目の単位あたりの重量を指定します。荷重ルール内の while ループにより(最大 10 単位の)合計荷重に重量が加算されます。荷重には 25 の制限があります。追加の単位重量が加算されるため、合計荷重はこの制限と比較されてシステム メッセージが生成されます。荷重が制限を超えると、メッセージに警告が追加され、反復が停止します。コントロールが End While ステートメントに移ります。

Parameter Rule unitWeight As Integer = 5

  
Rule load As Number
   Dim counter As Integer = 1
   Dim limit As Number = 25.0
   Dim strItem As String = " item."
   While counter <= 10
      If counter > 1 Then
         strItem = " items."
      End If
      load = load + unitWeight
      If load > limit Then
         printValue("Warning: Load = " + stringValue(load) + _
            "kg for " + stringValue(counter) + strItem + " " + _
            stringValue(limit) + "kg limit exceeded!")
         Exit While
      Else
         printValue("Load = " + stringValue(load) + _
            "kg for " + stringValue(counter) + strItem)
      End If
      counter = counter + 1
   End While
End Rule
Output:
"Load = 5.000kg for 1 item."
"Load = 10.000kg for 2 items."
"Load = 15.000kg for 3 items."
"Load = 20.000kg for 4 items."
"Load = 25.000kg for 5 items."
"Warning: Load = 30.000kg for 6 items. 25.000kg limit exceeded!"
注: 詳細については、「Exit ステートメント」を参照してください。