我是 prolog 的新手,我正在尝试通过更改优先级来重新分配 prolog 中的运算符。我遇到以下 4 个错误:
:-op(1000,yf,+). %unary plus%
:-op(1000,yf,-). %unary minus%
:-op(750,yfx,"%"). %modulo%
前两个给了我一个类似的错误,如下所示:
warning: directive failed (op(1000,xf,+)) with exception (error(permission_error(create,operator,+),op/3))
我也收到模一错误(一个不同的错误),但我怀疑这是因为我不应该%
用引号括起来(但我应该如何将它与评论标记区分开来?)。
我重新定义了一堆其他运算符(例如加法运算符:-op(500,yfx,+).
),它们没有给我带来任何问题。只有上面列出的 3 个给我错误。
任何人都可以对此有所了解吗?
谢谢!