)
Я пишу свою магистерскую диссертацию, и я должен использовать для этого платформу JESS. Я хочу задать вопрос.
Например, у меня есть этот класс Java, который называется «Основной»:
public class Main {
private String user = "Joe";
public String getUser(){ return user; }
public String setUser(String user){ this.user = user;}
public static void main( String[] args ) throws Exception {
Main main = new Main();
Rete rete = new Rete();
rete.store( "main", main );
rete.batch( "two.clp" );
}
}
Теперь я хочу вызвать clp-файл и манипулировать объектом основного класса и сделать это:
(printout t "main.user = " ((fetch main) getUser) crlf) ;; I got for this Joe
((fetch main) setUser "Robin")
(printout t "main.user = " ((fetch main) getUser) crlf) ;; For this I got Robin
Но теперь я хочу спросить вас, как я могу вызвать этого манипулируемого пользователя по имени «Робин» из кода Java? Если я вызову Java следующим образом:
public static void main( String[] args ) throws Exception {
Main main = new Main();
Rete rete = new Rete();
rete.store( "main", main );
rete.batch( "two.clp" );
System.out.println(main.getUser());
}
В результате я получил "Джо", а не "Робин". Не могли бы вы рассказать мне, как я могу получить (или вызвать) управляемую версию объекта Java? И почему им не манипулируют в моем классе Java, когда я манипулирую именем пользователя от Джесс до Робин?
Буду благодарен за сообщение. Спасибо.