问题 我希望从规则中获得额外的存储
代码:
gresult:-
write('enter first number'),nl,
read(P),nl,
write('enter second number'),nl,
read(Q),nl,
write('adition result is'),nl,
fresult(P,Q),nl,
write(fresult).
fresult(P,Q):-
P+Q.
答案 0 :(得分:0)
如果您希望fresult
“返回”某个值,则必须为其添加一个参数:
fresult(P, Q, Sum) :-
Sum is P + Q.
请注意,您必须使用is
运算符强制Prolog将P + Q
视为算术表达式并将其评估为数字。
然后你可以这样称呼它:
gresult :-
...,
fresult(P, Q, Sum),
write(Sum),
nl.