我正在做一个家庭作业问题,使函数 sumOdd 计算前 n 个奇数整数的总和,但我似乎找不到任何类型的 elseif 类型语句来这样做。我试图做的是下面,但当然不起作用:
fun sumOdd n = if n=0 then 0 elseif (n mod 2)=0 then sumOdd(n-1) elseif n + sumOdd(n-1);
最佳答案
您的函数未编译,因为 elseif
不是 SML 中的关键字。将最后一个 elseif
更改为 else
,将其他 elseif
更改为 else if
应该可以修复错误。
此外,该函数在以下格式中更具可读性:
fun sumOdd n = if n = 0 then 0
else if n mod 2 = 0 then sumOdd(n-1)
else n + sumOdd(n-1)
关于sml - 标准 ML 中的 elseif 语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9056624/