迴圈: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#)。 |