2017-02-28 2 views
1

Wie kann ich once in SICStus verwenden? In SWI Prolog, die folgenden Werke:Einmal in SICStus Prolog?

test(X, Y, abc) :- once(X == 'true' ; Y == 'true'). 

aber in SICStus Prolog scheint once unerkannt zu sein. Was entspricht once in SICStus? Danke.

+5

Beachten Sie, dass SWI hier falsch ist: Der Standard erfordert in diesem Fall einen Syntaxfehler. SWI ist das einzige System, das diesen missgebildeten Ausdruck akzeptiert. – false

Antwort

2

Die Antwort lautet:

test(X, Y, abc) :- once((X == 'true' ; Y == 'true')). 

Die zusätzliche Klammer den Trick.