共用方式為


迴圈:while...do 運算式 (F#)

while...do 運算式用於指定的測試條件為 true 時進行反覆執行 (迴圈)。

while test-expression do
   body-expression

備註

上述語法執行時會評估 test-expression,如果為 true 則會執行 body-expression 並重新評估測試運算式。 body-expression 必須有型別 unit。 如果測試運算式為 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# 語言參考