JRuby 스크립트에서 기존 Java 객체를 어떻게 사용해야합니까?JRuby에서 기존 Java 객체 사용
JRuby에서 Java 클래스의 새 인스턴스를 어떻게 만들 수 있는지 알고 있지만, 제 경우에는 이미 Java로 인스턴스를 가지고 있으며 내 JRuby 스크립트에서이 인스턴스의 일부 속성을 확인/수정하려고합니다.
//Java
public class MyClass
{
private int size;
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
}
//...
MyClass myClass = new MyClass();
myClass.setSize(5);
//...
String script = "..????.."
ScriptingContainer rubyContainer = new ScriptingContainer();
rubyContainer.runScriptlet(script);
내가 확인하고이 같은 크기 속성을 수정하는 스크립트 변수로 작성해야 무엇
: 나는 속성의 새 값을 사용할 수 있도록하고 싶습니다 수정 후
if (myClass.getSize() > 3)
myClass.setSize(10)
else
myClass.setSize(0);
을 Java 코드에서.
고맙습니다.
하지만이 경우 Java 코드에서 수행합니다. 필자의 경우에는 JRuby 스크립트 만 사용하여 기존 Java 객체를 얻을 수 있다는 것을 알아야합니다. 타이머가 있고 매 x 초마다 rubyContainer.runScriptlet (스크립트)을 실행한다고 가정 해 보겠습니다. Java에서 다른 작업을 수행하지 않고 새로운 검사/수정을 수행합니다. – Anton
나는이 문제를 이해하지 못한다. 질문을 편집하고 타이머로하고 싶은 것을 보여주십시오. –
Java 코드 (int myInt = 5)에 변수가 있다고 가정합니다. 나는이 변수를 JRuby에서 얻을 수 있기를 원한다. ScriptingContainer를 시작하고 함수의 runScriptlet (스크립트)을 호출합니다. 질문은 그것을 확인/수정하기 위해 myInt에 접근하기 위해 스크립트 변수에 무엇을 써야 하는가? – Anton