2017-02-28 3 views
1

SICStus에서 once을 어떻게 사용할 수 있습니까? SWI 프롤로그에서 다음 작품 : SICStus Prolog에 한번 있습니까?

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

하지만 SICStus 프롤로그에서

, once는 알 수없는 것 같다. SICStus에서 once에 해당하는 것은 무엇입니까? 감사합니다.

+5

여기서는 SWI가 잘못 되었음에 유의하십시오. 표준에서는이 경우 구문 오류가 필요합니다. SWI는이 잘못된 형식의 용어를 허용하는 유일한 시스템입니다. – false

답변

2

대답은 :

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

추가 괄호는 트릭을했다.