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!"