0
我對Prolog非常陌生,我正在嘗試使用'append'。我正在嘗試編寫一個非常簡單的程序,將列表中的第一項添加到列表L中,並將其添加到空列表中。在Prolog中使用append
請問有人請向我解釋爲什麼這樣做不起作用?
add_first([A|_],L) :- append(A,_,L).
另一個簡短的問題。
爲什麼此代碼有效?
add_first([A|B],L) :- append(B,A,L).
但是這段代碼不?
add_first([A|B],L) :- append(A,B,L).
非常感謝。
這些例子都沒有,即使append按照您的想法工作,似乎也反映了您爲'add_first'提供的口頭定義。你能舉一個你想讓'add_first'成功工作的實例嗎?這個描述意味着你想要'add_first([1,2,3],L)'產生'L = [1]'。但是你的'append'例子都涉及'[1,2,3]'的尾部,這在這種情況下看起來並不相關。 – lurker