prolog - 无法定义新运算符

标签 prolog

我正在尝试定义一个中缀运算符,但我不断收到错误。我正在使用 GNU Prolog 1.4。

我试过这个: [用户]。 操作(35,xfx,=>)。 ctrl-D

但是出现错误“本地代码过程 op/3 无法重新定义(忽略)”

我也试过 op(35, xfx, '=>')。并得到同样的错误,并尝试在不输入 [user] 的情况下进行操作。首先,但是当我尝试实际使用运算符时,我得到了一个 existence_error。

最佳答案

是的,您需要运行谓词而不是定义它。为此,只需在 op/3 调用之前插入 :-

关于prolog - 无法定义新运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9321277/

相关文章:

prolog - 在序言中转置矩阵

prolog - Prolog 中的广度优先搜索

linux - 在 Prolog 中测试包冲突

dynamic - 编译错误 “4:12: syntax error: . or operator expected after expression”/在序言中定义动态的问题

list - 具有参数化谓词的maplist

python - 在 Python 中实现 Prolog 统一算法?回溯

序言 clpfd : creating arithmetic constraints from data

list - 给定长度的列表组合后跟 Prolog 中的排列?

prolog - Prolog 中的 +,+ 模式是什么意思?

prolog - 如何在 Windows 上的 Prolog swipl REPL 上发送 EOF 以关闭伪用户文件?