저는 SWI-Prolog를 처음 사용하고 있으며 튜토리얼을 시도하고 있습니다. 그러나 명령 줄을 통해로드하려고하는 모든 파일에는 시작시 (운영자 예상)와 끝 (예상치 못한 파일 끝)에 2 개의 오류 메시지가 표시됩니다. 파일은 내가에서 일하고 있어요 것과 같은 디렉토리에 저장됩니다.SWI-Prolog 파일에는 시작 문자와 종료 문자가 필요합니까?
예를 들어, 내가 프롤로그 개방의 시작부터 kb2.pl
listensToMusic(mia).
happy(yolanda).
playsAirGuitar(mia) :- listensToMusic(mia).
playsAirGuitar(yolanda) :- listensToMusic(yolanda).
listensToMusic(yolanda):- happy(yolanda).
로 저장이 파일이 (/ 옵션을 통해/내가 컴파일 된 파일의 목록을 요청하는 경우
% library(swi_hooks) compiled into pce_swi_hooks 0.00 sec, 3,928 bytes
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.10.2)
Copyright (c) 1990-2010 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.help, use ?- help(Topic). or ?- apropos(Word).
?- [kb2].
ERROR: /Users/name/Desktop/kb2.pl:1:0: Syntax error: Operator expected
ERROR: /Users/name/Desktop/kb2.pl:10:52: Syntax error: Unexpected end of file
% kb2 compiled 0.00 sec, 2,584 bytes
true.?-
, 내가 얻을 :
,691 지방/빈/swipl)는 내 명령 줄은 다음과 같습니다\happy(yolanda).
\playsAirGuitar(mia) :- listensToMusic(mia).
\playsAirGuitar(yolanda) :- listensToMusic(yolanda).
true.
그래서 파일의 첫 번째 줄과 마지막 줄을 잘라냅니다.
나는 이러한 오류 메시지를 온라인에서 검색하여 Prolog의 서식 지정에 대한 유용한 힌트를 많이 찾았지만이 상황을 해결하지 못했습니다. Prolog 용 파일의 시작과 끝 부분에 특수 문자 나 형식을 사용해야합니까?
위의 텍스트를 다시 포맷하고 SWI Prolog에 복사 할 수 있습니다 ('with (user) '사용). –
그것은 서식있는 텍스트 (UTF-16을 의미한다고 생각합니다) 형식입니다. 난 그냥 ASCII로 전환하고 지금 작동합니다 - 감사합니다! 다음 번에는 전체 원시 파일을 어떻게 게시합니까? 스택 오버플로에 직접 업로드 할 수 있습니까? – Kristen
@Kristen : RTF (Rich Text Format)는 오래 전에 마이크로 소프트가 창안 한 워드 프로세싱 형식입니다. SWI-Prolog는 그러한 파일의 텍스트를 둘러싸는 여분의 글꼴 및 기타 "서식 지정"명령에 문제가 있음을 의심하지 않습니다. 간단한 텍스트 편집기에서 RTF 파일을 열고 추가 문자를 직접 볼 수 있습니다. – hardmath