如何在递归中使用append

时间:2016-05-17 00:03:07

标签: recursion prolog

我正在构建一个程序,我需要有关这段代码的建议:

skyff([H1|Ta],L1,L2,):-
    skyff(Ta,L1,L22),
    append(H1,L2,L22).

更具体一点 - 我想要完成的是将H1附加到List L2并进行递归调用(skyff(Ta,L1,L22)),其中L22是将H1附加到L2的结果。但我不确定我做得对吗? - 我没有粘贴整个程序的代码,因为它只是这个特定的段落,我有点不确定。

也许应该是相反的方式:

skyff([H1|Ta],L1,L2,):-
        append(H1,L2,L22),
        skyff(Ta,L1,L22).

1 个答案:

答案 0 :(得分:2)

@lurker评论始终是有点和有启发性的,让我们回顾一下

skyff([H1|Ta],L1,L2):-
        skyff(Ta,L1,[H1|L2]).

现在,没有更多的怀疑空间......