male(X) :- (X=='john') ; (X=='dexter').
但是现在每当我输入查询male(X)并且每当X与' john'或者' dexter'它显示为false,而它应该为true。有人可以帮忙吗?
答案 0 :(得分:0)
在prolog中没有像double这样的运算符等于(==)。它会产生意想不到的输出。
仅使用等于(=)进行比较。!
male(X):-
X = 'john'.
male(X):-
X = 'dexter'.
不建议在Prolog中使用OR运算符。
参考:
答案 1 :(得分:0)
string1(progga).
string2(ikra).
go:-
write("Enter your name"),
nl,
read(X),nl,
string1(Y),
X=@=Y,nl, write("Matched");
write("not Matched"),go2.
/*Another way to*/
go2:-
string1(A),
string2(B),
A=@=B,nl, write("Matched");
write("not Matched").