2012-09-01 52 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)。