Bucles: expresión while...do
La expresión while...do
se usa para realizar la ejecución iterativa (en bucle) mientras se cumple una condición de prueba especificada.
Sintaxis
while test-expression do
body-expression
Comentarios
La expresión test se evalúa; si es true
, se ejecuta la expresión body y la expresión de prueba se evalúa de nuevo. La expresión body tiene que tener tipo unit
. Si la expresión test es false
, finaliza la iteración.
En el siguiente ejemplo de código se muestra el uso de la expresión 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
La salida del código anterior es una secuencia de números aleatorios entre 1 y 20, el último de los cuales es 10.
13 19 8 18 16 2 10
Found a 10!
Nota
Puede usar while...do
en expresiones de secuencia y otras expresiones de cálculo, en cuyo caso se usa una versión personalizada de la expresión while...do
. Para más información, consulte Secuencias, Expresiones asincrónicas, Expresiones de tareas y Expresiones de cálculo.