我附带了一个算术规则来评估一个简单的恒星9。
evaluate(A):-eval(A,B).
eval(A,B):- B is 9*A.
我有:
?- eval(3,A).
A = 27.
?- evaluate(3).
true.
但我想要结果而不是真的!我更愿意看到下面的结果是否可能?
?- evaluate(3).
3*9=27.
答案 0 :(得分:1)
如果您只想查看输出,可以在统一后打印变量 - 即
evaluate(A):- eval(A,B),write(A),write('*9='),write(B),write('.'),nl.
eval(A,B):- B is 9*A.
输出
1 ?- evaluate(3).
3*9=27.
true.