Loops: for...to Expression (F#)

The for...to expression is used to iterate in a loop over a range of values of a loop variable.

for identifier = start [ to | downto ] finish do
   body-expression

Remarks

The type of the identifier is inferred from the type of the start and finish expressions. Types for these expressions must be 32-bit integers.

Although technically an expression, for...to is more like a traditional statement in an imperative programming language. The return type for the body-expression must be unit. The following examples show various uses of the for...to expression.

// A simple for...to loop. 
let function1() =
  for i = 1 to 10 do
    printf "%d " i
  printfn "" 

// A for...to loop that counts in reverse. 
let function2() =
  for i = 10 downto 1 do
    printf "%d " i
  printfn ""

function1()
function2()

// A for...to loop that uses functions as the start and finish expressions. 
let beginning x y = x - 2*y
let ending x y = x + 2*y

let function3 x y =
  for i = (beginning x y) to (ending x y) do
     printf "%d " i
  printfn ""

function3 10 4

The output of the previous code is as follows.

1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

See Also

Reference

Loops: for...in Expression (F#)

Loops: while...do Expression (F#)

Other Resources

F# Language Reference