谁能帮我删除列表的最后一个“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 理解在它的单词 final 时只删除'e'?
任何帮助我解决这个问题的建议将不胜感激。