1
をプロローグ:統一リスト私はこれをグーグルが、答えを見つける傾けるので、ここであなたが行く
を私はプロローグでこの機能を持っている:
ing(Lis) :- findall(I,(recipe2(_,ingredients(I,_))),Lis).
この関数は、検索をしてくれリストのリストを返します。
L = [['wheat flour', egg, salt], ['wheat flour', cheese, olives, tomato, salt, basil], ['wheat flour', potatoes, salt], [milk, egg, sugar]].
リストのリストを1つのリストに統一したいので、重複を取り除くことができます。私は再帰を使用しなければならないことを知っているが、それはすべて私が知っている。
ありがとうございます。
右のドキュメント(SWI-Prologの)が、OPのニーズので、重複、@CapelliC – CapelliC
のfindAll/3の後/ 3、またはソート/ 2 SETOF活用、それを指摘して感謝を削除しています。重複を扱うことに言及された質問の部分は、何らかの奇妙な理由で私の心を完全に逃れました。私は私の答えを編集しました。 – eazar001