Prolog を Java と統合するために tuProlog を使用しています。そのためにprolog.pl
、次のコードでファイルを定義しました。
go:-write('hello world!'),nl.
次に、私の Java プロジェクトでは、これを呼び出すメイン クラスがあります。
Prolog engine = new Prolog();
Theory theory = new Theory(new FileInputStream("prolog.pl"));
try {
engine.setTheory(theory);
} catch (InvalidTheoryException ex) {
}
SolveInfo solution = engine.solve("go.");
if (solution.isSuccess()) {
System.out.println(solution.getSolution());
}
このコードは 'hello world' を出力するはずですが、'go' を出力します。なぜこの動作をするのでしょうか?