0

我想在序言中编写一个比较两个字符串或字符串列表的程序。我想实现以下目标:

if StringList A == StringList B
   {
     do this
   }
else
   do something else

我怎样才能做到这一点?

4

3 回答 3

2

你是什​​么意思do this?在 Prolog 中很难实现doing somewhat,因为你所拥有的只是事实和谓词。

?- (string1 = string2, X=1); (string1 \= string2, X=2).
X = 2.
于 2012-10-30T20:50:39.220 回答
1

以下是您如何在一行中执行此操作:

...
(A = B -> do this ; do something else)
...
于 2012-10-30T20:47:48.457 回答
0
 /*SWI prolog code*/
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").
于 2019-08-04T09:16:29.493 回答