1
我正在尝试修改for的迭代器的值。 平均:OCaml如何更改迭代器的值
for i = 0 to n do
while (condition) do
(*how in this place increment i ?*)
我正在尝试修改for的迭代器的值。 平均:OCaml如何更改迭代器的值
for i = 0 to n do
while (condition) do
(*how in this place increment i ?*)
你可以做两个while
循环:
let i = ref 0 in
while !i < n do
while (* condition *) do
i := !i + 2
done;
incr i;
done
OCaml的变量是不可变的。您无法在for
循环中更改i
的值。如cago所示,您可以使用引用(一个包含可变值的不可变变量)。
然而,研究OCaml的一个原因是学习编程功能,即学习如何计算而不改变变量的值。所以你可能想寻找另一种方法来解决你的问题。