【发布时间】:2016-08-24 19:42:08
【问题描述】:
如果我想表达[只是一个简单的例子]:
int a = 0;
for (int x = 0; x < n; x += 1)
a = 1 - a;
我应该在 Haskell 中做什么,因为它没有变量概念?(可能是错误的,请参阅:Does Haskell have variables?)
【问题讨论】:
-
你可以用recursion来做到这一点。
-
附注Haskell 有变量。它们只是行为与程序语言不同。
-
@Code-Apprentice 呃,比如
rec x a = if x < n then rec x 1-a else ...?太棒了! -
你还需要在某处定义
n。 -
我认为这很大程度上取决于你为什么要循环。有时,您可以使用抽象出迭代的高阶函数。其他时候,您编写自己的递归函数。还有一些,你实际上根本不需要迭代。
标签: loops variables for-loop haskell immutability