루프: while...do 식(F#)
while...do 식은 지정한 테스트 조건이 참일 때 반복 실행, 즉 루프를 수행하는 데 사용됩니다.
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#)을 참조하십시오.