Сравнение двух терминов - PullRequest
1 голос
/ 20 февраля 2011

Может кто-нибудь сказать мне, что идет не так в этом коде!

testit :- read(Term1),  
            read(Term2),  
    (Term1 == Term2) ->  
    write(Term1);  
        write(Term2).

?- testit.  
7.  
8.  
_L139.  
true.  
____

Как я могу напечатать значение Term2 в другой части .???

1 Ответ

5 голосов
/ 20 февраля 2011

(;) / 2 имеет другой приоритет оператора, чем вы думаете. Используйте скобки, чтобы получить предполагаемую вложенность:

testit :-
        read(Term1),
        read(Term2),
        (   Term1 == Term2 ->
            write(Term1)
        ;   write(Term2)
        ).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...