标准ML循环麻烦



我正在设置一个函数,该功能将模拟循环直到满足条件。

我的总体计划是使用递归,但我试图首先将基础知识降低。

我使用IF语句的基本函数来工作,该语句正在查看x的值。我计划使用递归将X用作计数器,但稍后我将进行。

我现在的主要关注点是,似乎我只能在"然后"语句之后执行1个命令。

fun whileloop (x,a) =
    if (x<4)
    then a+1 
    else a;

因此,此功能正常工作,但是看来我唯一能做的命令是A 1。如果我在此之后尝试执行其他任何命令,则在其他方面...

失败。

例如,以下代码会失败。

fun whileloop (x,a) =
    if (x<4)
    then a+1 
    print "Testing"
    else a;

我的最终目标是创建一个循环,该循环将一遍又一遍地执行多个动作,直到X达到零为止。我需要使用不同的功能执行5-6个动作。

您可以使用Semicolon操作员按顺序评估几个表达式:

( e1; e2; ...; eN )

例如,

fun iter n f = if n = 0 then () else (f n; iter (n-1) f)

最新更新