Prolog,初学者,算术

时间:2013-12-04 05:25:49

标签: prolog grammar

我附带了一个算术规则来评估一个简单的恒星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.

1 个答案:

答案 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.