1
我GOOGLE了這一點,但不能找到答案,所以在這裏你去:統一名單列表的Prolog
我在序言中這樣的功能:
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]].
我想統一列表列表只在一個列表中,所以我可以得出重複。我知道我必須使用遞歸,但這就是我所知道的。
在此先感謝。
權,但由於OP的需求,是的findall/3 – CapelliC
@CapelliC之後,除去重複,更好地利用SETOF/3,或排序/ 2,感謝指出了這一點。涉及處理重複的問題部分由於某種奇怪的原因完全逃脫了我的想法。我編輯了我的答案。 – eazar001