1
任何人都可以幫我刪除列表的最後'e'嗎? 我有一個數據集:當它是單詞最後刪除'e'
lemma([c,h,a,s,e],[vb,t]).
lemma([e,a,t],[vb,t]).
lemma([l,i,k,e],[vb,t]).
lemma([d,i,e],[vb,i]).
lemma([s,n,e,e,z,e],[vb,i]).
,我的代碼是:
q0(Token,[vb,_]) :-
lemma(Lemma,[vb,_]),
delete_last(Lemma,New_Lemma),
suffix(Sff),
append(New_Lemma,Sff,Token).
delete_last(Lemma,New_Lemma) :-
append(New_Lemma,[_],Lemma).
suffix([e,r]).
到目前爲止我的代碼刪除列表,這是罰款,對於任何引理除了數據庫的最後一個元素引理[e,a,t]。我如何讓Prolog理解只在最終的單詞時刪除'e'?
任何建議,以幫助我開始這個問題將不勝感激。
delete_last(引理,New_Lemma): - 追加(New_Lemma,[E],引理)。 – CapelliC 2013-02-18 00:09:43
感謝您的建議,但我嘗試插入[e]代替[_],但是這會產生另一個問題,因爲代碼不會生成[e,a,t,er],而是會留下[e,a,t ,e,r]不在可能的答案中。 – 2013-02-18 01:34:55