首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改OCaml的迭代器的值

如何更改OCaml的迭代器的值
EN

Stack Overflow用户
提问于 2014-01-06 22:05:54
回答 2查看 220关注 0票数 1

我正在尝试修改for的迭代器的值。中庸之道:

代码语言:javascript
复制
for i = 0 to n do
   while (condition) do
      (*how in this place increment i ?*)
EN

回答 2

Stack Overflow用户

发布于 2014-01-06 23:09:02

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

然而,学习OCaml的一个原因是学习函数式编程,即学习如何在不改变变量值的情况下进行计算。所以你可能想要寻找另一种方法来解决你的问题。

票数 6
EN

Stack Overflow用户

发布于 2014-01-06 22:35:24

您可以执行两个while循环:

代码语言:javascript
复制
let i = ref 0 in 
while !i < n do
  while (* condition *) do
      i := !i + 2
  done;
  incr i;
done
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20951680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档