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