Compiler errors prolog中的编译错误
我试图用prolog编写一个代码,从标准输入中读取两个整数并输出它们的和。 但我得到了编译错误。请帮忙Compiler errors prolog中的编译错误,compiler-errors,prolog,sum,swi-prolog,Compiler Errors,Prolog,Sum,Swi Prolog,我试图用prolog编写一个代码,从标准输入中读取两个整数并输出它们的和。 但我得到了编译错误。请帮忙 :- set_prolog_flag(verbose,silent). :- prompt(_, ''). :- use_module(library(readutil)). main:- process, halt. process:- /* your code goes here */ readreal(X), readreal(Y),
:- set_prolog_flag(verbose,silent).
:- prompt(_, '').
:- use_module(library(readutil)).
main:-
process,
halt.
process:-
/* your code goes here */
readreal(X),
readreal(Y),
S = X+Y,
write(S).
true.
:- main.
正如评论中指出的,代码中存在几个问题。此外,SWI Prolog或其
readutil
库中没有任何readreal/1
内置谓词。简化和修复代码:
:- set_prolog_flag(verbose,silent).
:- prompt(_, '').
main:-
process,
halt.
process:-
/* your code goes here */
read(X),
read(Y),
S is X+Y,
write(S).
:- main.
示例执行(假定保存在当前目录中的code.pl
文件中):
如果我们知道确切的错误,帮助您会容易得多…错误:-g user:(main,halt):“”/1:未定义的过程:main/0应该是
S is X+Y
=/2
是统一,而不是算术表达式求值。此外,您正在尝试重新定义标准控件构造true/0
。删除那一行,这样做。仍然给出运行时错误。
$ swipl -g "[code]"
12.
23.
35