1
Q
從列表中做出謂詞
A
回答
4
您可以使用=..
(也稱爲Univ)將列表轉換爲其函子是列表頭部的術語。例如:
?- a(b) =.. [a, b].
true.
您可以使用assert/1
在Prolog數據庫中將術語變成事實。
你的問題的解決方案是這樣的:
?- List = [apple, orange], Term =.. [fruits | List], assert(Term).
List = [apple, orange],
Term = fruits(apple, orange).
現在,您可以查詢您的新的事實,以確認它的存在:
?- fruits(X, Y).
X = apple,
Y = orange.
相關問題
- 1. 從Prolog的謂詞中「返回」列表
- 2. 謂詞和列表
- 3. lisp從列表中不匹配謂詞過濾出結果
- 4. 是否有可能從List中做出謂詞?
- 5. Remove_if列表的謂詞
- 6. 序言列表謂詞
- 7. 從列表中獲得匹配謂詞的子列表
- 8. 序言元謂詞:應用謂詞列表,通過恆定
- 9. 在R列表中應用謂詞
- 10. s()謂詞在Prolog中做什麼?
- 11. 從Prolog中的列表中刪除謂詞
- 12. C#中的謂詞代表
- 13. C#Linq謂詞生成從列表中刪除所有空值
- 14. 謂詞從列表中過濾非常量
- 15. 在列表中搜索並根據謂詞在python中做搜索
- 16. 涵蓋兩個列表的謂詞
- 17. 如何使用謂詞過濾列表
- 18. 將列表元素與謂詞比較
- 19. 列表交叉口謂詞問題
- 20. 涉及列表的Prolog謂詞
- 21. 列表成員列表中的領域謂詞
- 22. 如何用這個做謂詞?
- 23. 將表格謂詞從b序列轉換爲gprolog
- 24. 從python調用prolog謂詞
- 25. QueryDSL:從PathBuilder生成謂詞
- 26. 謂詞和lambda表達式
- 27. RDF表達謂詞程度
- 28. LINQ中的謂詞
- 29. Spring Data + QueryDSL空謂詞+謂詞鏈接
- 30. 分割基於謂詞列表到列表清單
你能解釋一下這個代碼,請? – selda 2011-05-04 11:57:29
@selda好的,我已經添加了一些解釋。這是非常基本的東西,你會在每本Prolog書中找到更好的解釋。 – Kaarel 2011-05-04 13:53:00