【发布时间】:2020-07-07 15:58:26
【问题描述】:
我正在尝试编写一个循环遍历列表 n 次的程序。 假设 L = [a1, a2, ... , an] 我想要实现的是 [ai+1, a i+2, ... , an, a1, a2, ... , ai]。
我参考了之前关于这个确切问题的帖子。但是,我不确定如何获得输出或 [ai+1, a i+2, ... , an, a1, a2, ... , ai]。
对于输出:我试过了 -循环([1,2,3,4],5);
但是我得到的错误是操作数和运算符不匹配
这是我从上一篇文章中找到的代码:
fun cycle n i =
if i = 0 then n
else cycle (tl n) (i-1) @ [hd(n)];
【问题讨论】:
-
你的函数是柯里化的,所以你需要把它称为
cycle [1,2,3,4] 5而不是cycle([1,2,3,4], 5)(虽然你这样做时可能会注意到一个错误!)。 -
谢谢你!是的,我收到错误“未捕获的异常为空”。我会看看我能不能解决这个问题。
-
您可能会发现 this 文档也很有帮助。