我正在尝试修改for的迭代器的值。中庸之道:
for i = 0 to n do
while (condition) do
(*how in this place increment i ?*)发布于 2014-01-06 23:09:02
OCaml变量是不可变的。您不能在for循环中更改i的值。如cago所示,您可以使用引用(包含变量值的不可变变量)。
然而,学习OCaml的一个原因是学习函数式编程,即学习如何在不改变变量值的情况下进行计算。所以你可能想要寻找另一种方法来解决你的问题。
发布于 2014-01-06 22:35:24
您可以执行两个while循环:
let i = ref 0 in
while !i < n do
while (* condition *) do
i := !i + 2
done;
incr i;
donehttps://stackoverflow.com/questions/20951680
复制相似问题