최근에 프롤로그에 대해 배우고 중개 연산자를 정의하는 데 사용되는 세 가지 유형을 혼동합니다.프롤로그 중온 연산자 정의
연산자 유형을 지정할 때 xfx, xfy 및 yfx의 차이점은 무엇입니까? 나는이 문제에 대해 봤는데 유용한 것을 발견하지 못했다.
:- op(500,yfx,is_alive).
is_alive(A,B) :- display([A,B]).
:- op(500,xfy,is_alive2).
is_alive2(A,B) :- display([A,B]).
:- op(500,xfx,is_alive3).
is_alive3(A,B) :- display([A,B]).
하고 출력을 : :
| ?- 1 is_alive 2.
'.'(1,'.'(2,[]))
yes
| ?- 1 is_alive2 2.
'.'(1,'.'(2,[]))
yes
| ?- 1 is_alive3 2.
'.'(1,'.'(2,[]))
yes
이 결과는 나에게 아무런 차이를 보이지 않았다
나는 프롤로그에 다음 코드를 입력했습니다.
답변 해 주셔서 감사합니다. – JasonLi
각 연산자에 대해 (1 is_alive 2 is_alive 3) 시도하면 차이가 나타납니다. – DaveEdelstein