Я пытаюсь создать функцию, которая будет суммировать цифры целого в SML, но я получаю следующую ошибку.Сумма цифр в целых числах с использованием SML
Error: operator and operand don't agree [overload conflict]
operator domain: real * real
operand: [* ty] * [* ty]
in expression:
n/(d * 10)
Я попытался преобразовать переменные в реальность, но это не сработало. Также я не понимаю, почему я получаю эту ошибку. Невозможно использовать такие операторы, как * и/с int и real в SML?
Код следующее:
fun sumDigits (n) =
if n < 10 then n
else
let
val d = 10
in
n mod d + sumDigits(trunc(n/(d*10)))
end