Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
haskell和函数声明中的打印问题_Haskell - Fatal编程技术网

haskell和函数声明中的打印问题

haskell和函数声明中的打印问题,haskell,Haskell,这是我的代码: sumDig i = if (i == 0) then 0 else ((mod i 10) + somaDig ((i-(mod i 10)/10))) main = do print (sumDig 4) 它不工作,我不知道为什么。。。它不编译,编译器消息也没有帮助 该函数只是对给定数字的所有字符求和,例如:123=1+2+3=6,它使用n/10的n mod 10+递归来实现这一点,您会遇到一些错误 通过向sumDig sumDig::Int->Int 另一个

这是我的代码:

sumDig i = if (i == 0) then 0 else ((mod i 10) + somaDig ((i-(mod i 10)/10)))


main = do
    print (sumDig 4)
它不工作,我不知道为什么。。。它不编译,编译器消息也没有帮助


该函数只是对给定数字的所有字符求和,例如:123=1+2+3=6,它使用n/10的n mod 10+递归来实现这一点,您会遇到一些错误

通过向
sumDig

sumDig::Int->Int
另一个错误是
somaDig
未定义。您的意思是键入
sumDig

如果是这样,那么最后一个编译错误是在整数上使用
/
。您可能需要
div

sumDig::Int->Int
sumdigi=if(i==0),则0其他((mod i10)+sumDig((i-(mod i10))`div`10)))