4
데이터베이스 파일을로드 한 후에 assert를 사용할 수 있도록 동적 규칙을 만들고 싶다면 어떻게해야합니까? 나는 파일이 같은 것입니다 순간에 XSB 프롤로그를 사용하고 있습니다 :프롤로그의 "동적"조건 자
? consult('D:\file.P).
not permitted to assert to static predicatelikes/2
forward continuation...blahblah
어떤 아이디어 :
:- dynamic likes/2
likes(mary,tom)
내가 XSB를 가진 파일을 참조하려고 내가 오류가?
그게 정말 오히려 이상한 - 내가 동일 할 그게 이상한 실수 야! 나는 "허용되지 않는 어쩌구 ..."라는 것을 이해하려고 노력하고 있습니다! – KP65
방금 XSB 버전 3.2에서 동일한 파일을 테스트했지만 정상적으로 작동하는 것으로 보입니다. 그러나 2.7.1을 다른 것으로 사용해야합니다 (사용하고 있습니다.) (interprolog) ... 2.7.1에서 같은 파일을 사용해 볼 수 있습니까? 내가 본 것을 알려주시겠습니까? 감사합니다. – KP65
XSB 2.7을 사용해 보았습니다. 오류가 발생하여 해당 버전 이후의 동작이 변경되었습니다. 그러나 전체 파일을 컴파일하는 대신 동적으로로드하는 load_dyn ('test.P')을 사용하여 파일을로드 할 수있었습니다. (파일에서 : - 동적 라인을 제거하십시오.) 그러면 test.P의 것 외에 더 많은 likes/2 개의 규칙을 지정할 수 있습니다. 동적 코드로드에 대한 설명서는 다음을 참조하십시오. http://www.cs.sunysb.edu/~sbprolog/manual2/node5.html –