SML中的递归错误

时间:2012-09-01 14:03:08

标签: recursion sml ml

无法弄清楚我的功能中的错误。它应该循环遍历一个列表n次,例如:

cycle([1, 2, 3, 4, 5, 6], 2)将返回[3, 4, 5, 6, 1, 2],循环列表两次。

这是我的代码,但我想我正在进入一个无限的递归循环。有什么帮助吗?

fun cycle (a, n) = if n >= 0 then cycle (cycle1 a, n-1)
                   else cycle (a, n-1);

1 个答案:

答案 0 :(得分:3)

当n< 0.为了防止无限循环,根本不要这样做。 (另外,当n = 0时,你可能不想循环1。)