B-Prolog에서 ensure_loaded/1 work 을 다른 많은 Prolog 시스템에서도 사용할 수있는 해결 방법이 있습니까? 목표는 나머지 코드 이 어떤 프롤로그 시스템을 사용하는지에 관계없이 ensure_loaded/1을 사용할 수 있도록 전문을 준비하는 것입니다.해결 방법 ensure_loaded/1 B-Prolog?
- 많은 프롤로그 시스템처럼, 상대 경로는 현재 자문 파일 가 해결되지 않는 것 같다.
- 프롤로그 텍스트가 허용되지 않는 것 같습니다. 일부 바이트 코드가 필요합니다. 따라서 을 컴파일해야합니다.
:- set_prolog_flag(redefine_builtin, on). ensure_loaded(X) :- atom_concat('<base>\\',X,Y), consult(Y). :- set_prolog_flag(redefine_builtin, off).
그러나 다음 지시문 와 프롤로그 텍스트가 상담을 할 때, 내가 작업 습관 :
:- ensure_loaded('suite.p').
그것은 여전히 제품군을 찾지을
그래서 나는 다음과 같은 시도 .피.
어떻게해야합니까? B-프롤로그 I의 Logtalk 어댑터 파일 경로의 확장을 (해야한다)에 관한
안녕
포함
안녕/1'? 이 방법으로 문제가 해결되는 것은 아니지만 최소한 경로 확인이 구현되는 방식을 좁힐 수 있습니다. – false
경로 계산 자체는 질문의 문제가 아니라 B-Prolog에서 지시문의 재정의입니다. –