_1
它不是一个匿名变量,所以问题并不像乍一看那么重要。
从 JPL 接口返回后,具有相同名称的变量(实际上是相同的变量)将具有相同的表示形式。否则,您应该提交邮件列表的错误...
您应该使用read_term作为选项传递的谓词系列variable_names(Vars)
。例如,在 REPL
?- read_term_from_atom('a(X,Y,X)',T,[variable_names(L)]).
T = a(_G1434, _G1435, _G1434),
L = ['X'=_G1434, 'Y'=_G1435].
编辑重用 JPL 测试基础设施的快速测试(我已将文件命名为 TestQuery.java)
import java.util.Map;
import org.jpl7.Query;
import org.jpl7.Term;
public class TestQuery {
public static void main(String argv[]) {
Query q = new Query("X = 1");
Map<String, Term>[] solutions = q.allSolutions();
System.out.println(solutions[0]);
}
}
输出
./run.sh
Compiling TestQuery
JPL demo: TestQuery
{X=1}
所以,也许我一开始就不明白你的问题,对不起......你使用的是最新的安装吗?