我刚开始学习Prolog
,如果这有点天真,或者说很天真,请原谅我.我试图定义这个谓词
| ?- times(M,N,Product) :- Product is M*N.
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误
uncaught exception: error(existence_error(procedure,(:-)/2),top_level/0)
Run Code Online (Sandbox Code Playgroud)
我正在使用GNU Prolog.这里的错是什么?
假说,如果你想解释的执行过程中定义一个谓语或功能,则必须通过键入进入翻译的"用户"模式:
['user'].
Run Code Online (Sandbox Code Playgroud)
输入谓词之后,你只需要离开这个"区域",作为解释器你已经完成编码的确认,并且它可以开始将你的谓词编译成字节码 - 你将会是这样的,然后,允许通过您的函数名称访问.
要退出"用户"模式,只需按ctrl + d
.
在swipl和gprolog中测试过:
SWI-Prolog version 5.10.4
(GNU Prolog) 1.3.0
Run Code Online (Sandbox Code Playgroud)
问候!
归档时间: |
|
查看次数: |
2297 次 |
最近记录: |