我正在尝试编写一个接受 int n 并返回从 n 到 0 的列表的函数。
这就是我所拥有的
let rec downFrom n =
let m = n+1 in
if m = 0 then
[]
else
(m-1) :: downFrom (m - 1);;
该函数编译正常,但是当我使用任何 int 对其进行测试时,它会在评估期间给我错误堆栈溢出(循环递归?)。
我知道这是阻碍的本地变量,但我不知道另一种声明它的方式。谢谢!!!