【发布时间】:2016-05-26 09:54:33
【问题描述】:
我正在做一个家庭作业问题来制作一个函数 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);
【问题讨论】:
-
尼特:ML中没有语句,一切都是表达式。
-
@AndreasRossberg 是
fun不是声明吗?您不能将fun分配给变量(请参阅要点,例如:gist.github.com/eatonphil/83252c39ef39c9f6886550e1ca711ca1)。 -
@eatonphil,
fun两者都不是,它是一个声明。当我说“一切”时,它是在可能是一个陈述的背景下。当然还有其他各种语法类别,如声明、类型、模块等。