比较Prolog中的两个原子

时间:2010-09-05 19:45:13

标签: prolog

我一直在学习prolog ..我正在使用名为prol1.1.1的编辑器我需要编写规则来比较2个字符串,当我给出类似

的内容时
rel(a1,b1).
rel(a2,b2).
rel(b2,c2).

associatedWith(X,Y,Z) :- rel(X,Y),rel(Y,Z).

?- associatedWith(X,Y,Z).

它有效

但是当我给出

?- associatedWith(X,Y,Z),X=\=Z.

我得到解析器异常

Parser exception [Should be evaluable ''a2''[7:31]] line 7:31 

我从网站得到的是= \ =是数字值,我无法得到比较字符串值的答案..任何人都可以帮助我..

我无法获得swi-prolog的gui你也可以帮助我吗? 我需要使用java程序中的调用prolog,输出必须在java中再次处理,任何人都可以帮助我..

1 个答案:

答案 0 :(得分:6)

你试图比较原子,而不是字符串。无论如何,你需要\ =

 ?- aaa = aaa.
true.

 ?- aaa \= aaa.
false.

 ?- aaa \= aab.
true.