0
私はプロローグを初めて使用しています。PROLOGコードのエラー
PROLOGのコードでは、次のような出力が期待されます。私が間違っているところを教えてください。
コードは基本的に重複を削除し、必要な形式でo/pを生成します。
remove_dups([],_L2,_L2).
remove_dups([A|B],L2,L3) :-
functor(A,Pr,Ar),(member(level(Pr,Ar,1) ,L2) -> remove_dups(B,L2,L2); append([level(Pr,Ar,1)],L2,L3),remove_dups(B,L3,L3)).
予想される出力:レベルの重複の除去とプレゼンテーション:私は2つのステップを分離することが好ましいだろう手始めに
?- remove_dups([a,b,a],[],L).
L = [level(a,0,1),level(b,0,1)].
お返事ありがとうございます@アレキサンダー。レベルマッピングと層別化のために私のプログラムで1を使用します。注文を維持する必要はありません..もう一度ありがとう –
あなたはようこそ! –