有人能告诉我这段代码出了什么问题!
testit :- read(Term1),
read(Term2),
(Term1 == Term2) ->
write(Term1);
write(Term2).
?- testit.
7.
8.
_L139.
true.
____
如何在else部分打印Term2的值。???
答案 0 :(得分:5)
(;)/ 2具有与您想象的不同的运算符优先级。使用括号来获得预期的嵌套:
testit :-
read(Term1),
read(Term2),
( Term1 == Term2 ->
write(Term1)
; write(Term2)
).