prolog - 无法在 Jekejeke Prolog 中创建事实

标签 prolog iso-prolog prolog-assert jekejeke

我正在使用七周七种语言 Prolog 教程,并尝试使用 Android Jekejeke 运行时运行一些示例。 例如,如果我添加

likes(wallace, grommit).

从教程中,我明白了。

Error: Undefined, private or package local predicate likes/2

我尝试使用断言,如 How to create a fact in SWI-Prolog? 中所述。 ,但随后它说 assert 未定义,而不是 likes。

大概我错过了一些关于运行时如何工作的基本知识,或者它的 prolog.it 方言。

最佳答案

assert/1 不是标准谓词,尽管有几个实现提供了它。 Jekejeke Prolog 的情况似乎并非如此。请改用 asserta/1assertz/1 标准谓词。第一个断言子句作为谓词的第一个子句。后者断言一个子句作为谓词的最后一个。

关于prolog - 无法在 Jekejeke Prolog 中创建事实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28407037/

相关文章:

序言 - 断言和撤回

Prolog:如何使用 prolog 的 clpfd 库列出 X 和 Y 可能使用的不同值?

prolog - 在 Prolog 中定义谓词作为 (=)/2(统一)的替代

list - 节省空间的功能符号书写

prolog - 为什么 Prolog 运算符定义有 xfx?

Prolog:单引号和双引号的不同行为

prolog - 如何将文件中的数据读入Prolog

prolog - swi-prolog 否定

prolog - 最好的 Prolog 编程实践和风格指南是什么?