我正在寻找一种在 Miranda 中执行 while 循环或 for 循环的方法。
我正在尝试做类似的事情
while(blablanotfinished)
{
if(a=true)blabla
else blabla
}
最佳答案
Miranda 没有 while 或 for 循环(如果没有可变状态,这就没有多大意义)。在大多数情况下,您可以改用高阶函数。如果没有满足您需要的高阶函数,您可以使用递归。
例如,如果您在命令式语言中有以下 while 循环:
f(start) {
x = start
while( !finished(x) ) {
x = next(x)
}
return x
}
您可以像这样在 Miranda 中递归地表达它:
f x = if finished x then x else f (next x)
关于functional-programming - Miranda while 和 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7697920/