2014-03-29 6 views
2

나는 다음과 같은 테스트 케이스를 실행하려고 : SWI - 프롤로그에서ECLiPSe Prolog에서 모듈을 사용하여 사실을 자유롭게 주장/철회 할 수 있습니까?

test :- assertz(abc : uvw(1)). 

위의 작품. 하지만 ECLiPSe Prolog에서 작동하게하는데있어서 에 문제가 있습니다./1 UVW, 어느 쪽도 존재 않습니다

trying to redefine an existing imported procedure in assertz(abc : uvw(1)) 

내가 ABC 가져하지 않았다 : 나는 다음과 같은 오류를 얻고있다. 모든 플래그를 사용하면 ECLiPSe Prolog에서 test/0을 성공적으로 실행할 수 있습니다. ?

안부

편집 : 추신 : 다음 말씨는 작동하지 않습니다

test :- abc : assertz(uvw(1)). 

하나를 만 다음과 같은 오류 메시지를 가져옵니다 :

lookup module does not exist in abc : assertz(uvw(1)) in module eclipse 
+1

당신이'시도 테스트 한 참조 : - ABC : assertz (UVW (1))'.? – CapelliC

+0

새 질문 편집을 참조하십시오. 또한 도움이되지 않습니다. –

답변

4

이클립스가 사용 @ - 술어에 대한 컨텍스트 모듈을 지정하는 주석 :

http://www.eclipseclp.org/doc/bips/kernel/control/A-2.html

+0

[swi]와 함께/3 모듈을 사용하는 경우 @를 사용할 수 없습니다. 구문 연산자를 사용할 때'구문 오류 : 후위/중위 연산자가 예상 됨 '이 표시됩니다. –

+0

필자는 일종의 벤치마킹을하고 싶다는 의혹이 있습니다.이 경우 결과를 왜곡 할 수 있으므로 호환성 레이어를 사용하지 않아야합니다. – jschimpf

+0

네, 저는 단일 소스로 가고 싶습니다. http://stackoverflow.com/questions/22592791/is-there-a-way-to-use-module-2-in-eclipse-prolog를 참조하십시오. 나는 매크로가 컴파일 타임에 적용되었다고 생각했기 때문에 왜곡이 있어서는 안된다. 하지만 누가 알 겠어? –