2014-01-06 39 views

回答

2

你可以做两个while循环:

let i = ref 0 in 
while !i < n do 
    while (* condition *) do 
     i := !i + 2 
    done; 
    incr i; 
done 
6

OCaml的变量是不可变的。您无法在for循环中更改i的值。如cago所示,您可以使用引用(一个包含可变值的不可变变量)。

然而,研究OCaml的一个原因是学习编程功能,即学习如何计算而不改变变量的值。所以你可能想寻找另一种方法来解决你的问题。