1
我試圖創建一個程序,將總結大階乘的數字,這就是我在做什麼:SML - 錯誤:運營商是不是一個函數[tycon不匹配]
fun sumDigits n =
if n < 10 then n
else
n mod 10 + sumDigits(n div 10)
fun factLarge 1 = IntInf.toLarge 1
| factLarge n = IntInf.toLarge n * factLarge(n-1)
sumDigits (factLarge 100)
但我在sumDigits (factLarge 100)
上遇到錯誤,我不知道如何解決此問題。
20.sml:8.19-11.26錯誤:操作者不是一個函數[tycon失配] 操作者:IntInf.int 中表達: (factLarge(N - 1))sumDigits
用';'結束你的聲明的另一種方法是實際用'val ... ='開始你的值聲明。例如,如果你要在頂層運行一個函數,那麼'val it = sumDigits(factLarge 100)'。 –
謝謝!我已經找到了如何以有效的方式更改sumDigits。 'fun sumDigits n = if n <10 then IntInf.toLarge n else n mod 10 + sumDigits(IntInf.toLarge(n div 10)); –