标识符的类型从开始表达式和完成表达式的类型推断而来。 这些表达式的类型必须是 32 位整数。

尽管从技术上讲, for...to 表达式更像是命令式编程语言中的传统语句。 主体表达式的返回类型必须为 unit 。 下面的示例演示了 for...to 表达式的各种用法。

// 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

上述代码的输出结果如下。

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
  • F# 语言参考
  • 循环: 表达式
  • 循环: 表达式
  •