如何解决Prolog动态谓词/ 1和/ 2之间的差异
我是Prolog语言的初学者,并且处于使用dynamic / 1的情况。在我的代码中有一行,例如:
:- dynamic actual_position/1,at/2,holding/1,talked/1,examined/1.
我想了解为什么Actual_position与/ 2相比为/ 1。
谢谢!
解决方法
斜杠(/
)之后的数字是谓词的 arity :这是它所使用的参数的数量。因此member/2
表示具有两个参数的member
谓词或函子。
关联性很重要,因为就像在Java中一样,一个可以重载谓词名称:一个人可以使用相同的 name 定义多个谓词,但不同的关联性。例如,append/2
[swi-doc]将列表的列表连接到单个列表,而append/3
[swi-doc]将两个列表附加到单个列表中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。