您好,我正在学习 OCaml 语言并完成一项任务。
无限精度自然数可以表示为 0 到 9 之间的整数列表
编写一个函数,它接受一个整数并用一个 0 到 9 之间的整数列表表示它,其中列表的头部包含最低有效位,列表的最后一个元素表示最高有效位。如果输入为负,则返回 None。我们为您提供了一些用例:
例如:
toDec 1234 = Some [4; 3; 2; 1]
toDec 0 = Some []
toDec -1234 = None
我已经为它写了下面的代码。
let rec toDec i =
(
if i < 10 then i::[]
else toDec ((i mod 10)::acc) (i/10) in toDec [] i;
);;
我在第 4 行遇到语法错误。由于我是这种语言的新手,所以无法弄清问题所在。有人可以帮忙吗?