2013-06-19 2 views
0

난 SWI - Prolog JPL 라이브러리와 함께 사용하고 있습니다.자바에서 프롤로그 사실을 주장하십시오

fact(1,2) 
fact(2,3) 
fact(1,3) 

그런 다음, 파일의 머리에이 사실을 필요로하는 프롤로그 파일이 : 나는 다음과 같은 문자열을 생성하는 자바로 작성된 프로그램이 있습니다. 나는 파일의 머리 부분에 코드를 삽입하거나 텍스트 파일을 사용하지 않고 자바 만 삽입하는 것을 원하지 않는다. 해결 방법이 있습니까?

+0

쉬운 방법 :이 도움이 될 수 JPL에 어설 션 (사실 (1,2))를 호출 인터페이스 – CapelliC

+0

이 게시물을 살펴 보았습니다. http://osdir.com/ml/lang.swi-prolog.general/2006-09/msg00070.html 해결책입니까? 그렇다면 어설 션 키워드가 문자열 인 이유를 이해할 수 없습니다. java 키워드 assert를 사용하거나 프롤로그와 통신하기 위해 간단한 문자열로 사용해야합니까? – user840718

+1

몇 가지 선택 사항이 있습니다. 더 간단한 것은 Query (문자열 q)입니다. SWI-Prolog 엔진에 텍스트 q의 쿼리를 실행합니다 (콘솔에 입력하는 것처럼). 그렇다면 q = "주장 (사실 (1,2))"이해야합니다. – CapelliC

답변

1

올바르게 읽는다면 Java의 Prolog 파일에 문자열을 써야합니까?

Java는 .txt, .word 및 html을 포함한 많은 파일 유형에 쓸 수 있습니다. 확장자 이름을 사용하여 프롤로그 파일에 쓸 수 있습니다.

FileWriter exampleFileWriter = new FileWriter ("exampleProlog.pl");

문자열을 작성한 다음 파일을 닫습니다. Java로 파일을 작성하는 데 더 안전하고 좋은 방법이 많이 있습니다. 그냥 이것 좀 봐 :

Fastest way to write to file?

http://www.javapractices.com/topic/TopicAction.do?Id=42

편집 :

How use Prolog from Java?

+0

아니요. 나는 이것을 원하지 않는다고 썼습니다. Java를 사용하여 사실을 장기간에 전달하고 싶습니다. 파일의 머리 부분에 쓰지 않고. – user840718

+0

방금 ​​편집 한 게시물을 확인하십시오. –