2012-03-23 2 views
1

나는 정의했다! (팩토리얼) 함수를 만들고 산술 함수와 연산자로 등록하여 다음을 실행할 수 있습니다. A is 6 !.프롤로그 : 오퍼레이터 선언

이제 저는 정의하고 싶습니다 !! (홀수의 계승), 같은 방법으로 - 절을 쓰고, arithmetic_function과 operator를 등록하고, A를 호출하는 것은 7입니다 !! - 결과는 입니다. 구문 오류 : 운영자 예상

가능한 경우 어떻게 등록해야합니까? 운영자 ?

예, 알고 있습니다. 일반적으로 커트이다.

+0

조건부를 게시 할 수 있습니까? –

+0

나는 그것을 정의하는 것이 좋은 생각이라고 생각하지 않는다! 연산자 (!! 연산자도 없음) – gusbro

답변

4

! 소위 솔로 문자 일 때 두 개를 연속으로 가질 수 없습니다. 그것이 아니라면, 당신은 예를 들어 쓸 수 없습니다 :

c :- !. 

대신 작성해야 : "."

c :- ! . 

때문에 그렇지 않으면 단일 토큰으로 해석됩니다.

또한, 두 버전 모두 잘못된 구문입니다 (예, SWI가 여전히 허용하지만 예를 들어 GNU Prolog는 허용하지 않습니다). 다음과 같이 작성해야합니다.

피연산자 인 연산자를 괄호로 묶어야합니다. ! 대신에! "f"및 "ff"를 사용하거나 사용 사례에 맞게 유니 코드 문자를 사용하십시오.