我正在尝试执行以下操作:
fun help(L)=if null(L) then nil else hd L::help(tl L);
fun inseach(a,L)=if null(L) then [[a]] else (a::L)::help(inseach(a,tl L));
inseach(4,[1,2,3]);
需要返回:[[4,1,2,3],[1,4,2,3],[1,2,4,3],[1,2,3,4]] < / p>
我得到的是:
val help = fn : 'a list -> 'a list
val inseach = fn : 'a * 'a list -> 'a list list
val it = [[4,1,2,3],[4,2,3],[4,3],[4]] : int list list
我想更改命令:
help(inseach(a,tl L))
为:
help((hd L)::inseach(a,tl L))
所以它将头部添加到我正在构建的每个列表中,但每次都会出错。我无法弄清楚这一点。我确信有一些简单而明显的东西让我失踪。我有15个这样的东西,这是最后一个要解决的问题。