[問題] prolog
要練習prolog寫了一個簡單的題目
要把list裡面找到的第二個element拿出來
takeoutSecond(A,B,C)
把Blist裡面找到的第二個A拿掉
我寫了這樣
takeout(A,[A|B],B).
takeout(A,[B|C],[B|D]) :- takeout(A,C,D).
takeoutSecond(A,[B|C],[B|D]):- takeoutSecond(A,C,D).
takeoutSecond(A,[A|B],[A|C]):- takeout(A,B,C).
可是出來的結果是把最後一個A拿掉
如果加一行takeoutSecond(A,[],[]).
就變成完全不會拿掉
請問哪裡出錯了??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.140.175
※ 編輯: RZAddict 來自: 140.113.140.175 (10/21 01:08)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章