Java プログラムで SWI-Prolog クエリを実行するために JPL を使用しています。新しいクエリを作成したい場合、jpl.Util.textToTerm
自分で解析せずに、ユーザー入力から直接用語をインスタンス化できるようにしたいと考えています。
問題は、このメソッドが常に変数識別子 (大文字で始まるもの) を無名変数 (つまり で始まるもの) として解析するように見えることです_
。
たとえば、ではなく名前を持つjpl.Util.textToTerm("X")
a が返されます。これは明らかに問題です。これは、クエリ後にバインディングにアクセスできないことを意味するためです。jpl.Variable
_1
X
jpl.Query
文字列から直接作成するnew Query("reverse([1,2],X)")
のとまったく同じ問題があります。