Prolog在尝试使用时给出错误"未定义的过程": -

Ros*_*oss 13 prolog prolog-toplevel

我在Windows上使用SWI-Prolog并收到以下错误:

14 ?- parent(X, Y) :- child(Y, X).
ERROR: toplevel: Undefined procedure: (:-)/2 (DWIM could not correct)
Run Code Online (Sandbox Code Playgroud)

我不完全确定发生了什么,因为这上周工作,我刚开始学习Prolog.

hor*_*rsh 20

常见问题解答说明了一切:http://www.swi-prolog.org/FAQ/ToplevelMode.html

您需要创建一个文件并在那里编写带有规则的程序.顶级命令行仅允许您发出查询.

  • 我现在明白了,我认为它类似于Python的交互模式.谢谢! (4认同)

小智 6

你可以这样试试

1 ?- assert(a(A,B):-A=B).
true.

2 ?- a(B,c).
B = c.
Run Code Online (Sandbox Code Playgroud)