доступ к термину списка прологов - PullRequest
1 голос
/ 11 октября 2011

Я использовал jpl для вызова пролога из Java. Я использую следующий код в Java, чтобы получить значение X из пролога.

String t4 = "myNumber(X)";
Query q4 = new Query(t4);
System.out.println( "first solution of " + t4 + ": X = " + q4.oneSolution().get("X"));

И мое решение -

first solution of myNumber(X): X = '.'(2, [])--which is true.

Что я хотел сделать сейчас, так это получить значение 2 из решения и удвоить число. Кто-нибудь может мне помочь, как справиться с этим?

1 Ответ

0 голосов
/ 11 октября 2011

oneSolution () возвращает хеш-таблицу привязок имени к термину ( они говорят ). Затем вы должны проверить срок (не проверено):

Term listTerm = q4.oneSolution().get("X");
Term firstListItem = listTerm.arg(1);
double value = firstListItem.doubleValue(); // alternatively, use intValue() or so

Также проверьте документацию Term .

Редактировать: исправлены ошибки

...