У меня есть файл ruby следующим образом:
module Example
class Myclass
def t_st
"Hello World!"
end
end
end
Теперь, если бы это был просто класс, я мог бы использовать следующий код Java:
ScriptEngine jruby = new ScriptEngineManager().getEngineByName("jruby");
jruby.eval(new BufferedReader(new FileReader("example.rb")));
Object example = jruby.eval("Myclass.new");
Однако этот класс находится внутри модуля. Вызов того же кода, что и выше, приводит к ошибке:
Exception in thread "main" org.jruby.embed.EvalFailedException: uninitialized constant myclass
Кроме того, звоните:
Object example = jruby.eval("Example");
Модуль не возвращает ошибок. Поэтому можно предположить, что это соответствует формату Ruby.
Object example = jruby.eval("Example::myclass.new");
Опять же, я получаю ту же ошибку, что и раньше.
Кто-нибудь может помочь? Как мало документации по JRuby?
Спасибо