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. QueryDslPredicateExecutor:謂詞從兩個表
- 9. 序言元謂詞:應用謂詞列表,通過恆定
- 10. 在R列表中應用謂詞
- 11. 在Prolog的列表中應用謂詞
- 12. s()謂詞在Prolog中做什麼?
- 13. 從Prolog中的列表中刪除謂詞
- 14. C#中的謂詞代表
- 15. 謂詞查找表?
- 16. C#Linq謂詞生成從列表中刪除所有空值
- 17. 從Prolog中的列表構建複合謂詞
- 18. 謂詞從列表中過濾非常量
- 19. 在列表中搜索並根據謂詞在python中做搜索
- 20. 列表交叉口謂詞問題
- 21. 如何使用謂詞過濾列表
- 22. 將列表元素與謂詞比較
- 23. Haskell列表理解謂詞順序
- 24. 涵蓋兩個列表的謂詞
- 25. Haskell:列表理解謂詞順序
- 26. 涉及列表的Prolog謂詞
- 27. 列表成員列表中的領域謂詞
- 28. 使用邏輯謂詞從兩個不同大小的散列做散列
- 29. 調用謂詞拋出NullReferenceException
- 30. 如何用這個做謂詞?
你能解釋一下這個代碼,請? – selda 2011-05-04 11:57:29
@selda好的,我已經添加了一些解釋。這是非常基本的東西,你會在每本Prolog書中找到更好的解釋。 – Kaarel 2011-05-04 13:53:00