我做一个功课问题,使函数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);
Run Code Online (Sandbox Code Playgroud)
pad*_*pad 12
您的函数未编译,因为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)
Run Code Online (Sandbox Code Playgroud)