ループ: while...do 式 (F#)

while...do 式は、指定したテスト条件が true の間に反復実行 (ループ) を行う場合に使用します。

while test-expression do
   body-expression

解説

test-expression の評価が true の場合は、body-expression が実行され、再度 test-expression が評価されます。body-expression には、unit 型を含める必要があります。test-expression が false の場合は、反復処理が終了します。

次に、while...do 式の使用例を示します。

open System

let lookForValue value maxValue =
  let mutable continueLooping = true
  let randomNumberGenerator = new Random()
  while continueLooping do
    // Generate a random number between 1 and maxValue.
    let rand = randomNumberGenerator.Next(maxValue)
    printf "%d " rand
    if rand = value then 
       printfn "\nFound a %d!" value
       continueLooping <- false

lookForValue 10 20

前のコードでは、1 ~ 20 の乱数のストリームが出力されます。最後に出力される数値は 10 になります。

13 19 8 18 16 2 10
Found a 10!

[!メモ]

while...do は、シーケンス式および他のコンピュテーション式で使用できます。その場合は、while...do 式のカスタマイズされたバージョンを使用します。詳細については、「シーケンス (F#)」、「非同期ワークフロー (F#)」、および「コンピュテーション式 (F#)」を参照してください。

参照

関連項目

ループ: for...in 式 (F#)

ループ: for...to 式 (F#)

その他の技術情報

F# 言語リファレンス