2012-09-01 53 views
0

找不到我的函数中的错误。它应该循环列表n次,例如:SML中的递归错误

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); 

回答

3

你一直骑自行车ñ< 0时要防止无限循环,根本就没有做到这一点。 (另外,当n = 0时,你可能不想循环1)。