1
我建立一個程序追加和我對這段代碼需要諮詢:如何使用遞歸
skyff([H1|Ta],L1,L2,):-
skyff(Ta,L1,L22),
append(H1,L2,L22).
更具體的 - 我想要做到的是追加H1到列表L2和進行遞歸調用(skyff(Ta,L1,L22)),其中L22是將H1附加到L2的結果。但我不確定我是否做得對? - 我沒有粘貼整個程序的代碼,因爲這只是我不確定的特定段落。
也許這應該是周圍的其他方法:
skyff([H1|Ta],L1,L2,):-
append(H1,L2,L22),
skyff(Ta,L1,L22).
「H1」應該是一個列表,還是隻是一個元素?換句話說,你是否希望新列表「L22」成爲一個列表,其中「H1」是第一個元素,「L2」是列表的其餘部分?因爲'append/3'正常運行在列表上,或者甚至更簡潔:'[H1 | L2] = L22'(你不需要'),所以你可以把它寫成append([H1],L2,L22) t需要'append/3')。 – lurker