Jruby rb向java生成的类继承支持或变通方法
我正在试验J
Ruby – 从ruby文件生成java.我在ruby中有一个实现Java接口的抽象类,以及扩展它的子类.也是ruby.
我正在遇到问题,如http://jira.codehaus.org/browse/JRUBY-6342所述,其中所有生成的java文件只扩展RubyObject. 我想知道是否有其他人遇到过此问题并有一个解决方法?现在我在每个子类中都使用了java_implement接口,因为它们没有扩展抽象类. 我已经包含了JRUBY-6342中描述问题的片段:
我对Ruby或JRuby的理解中遗漏了什么? 解决方法
这仍然是一个问题,因为类的jruby编译器
still produces RubyObject.
我所知道的唯一解决方法是使用Java的JRuby ScriptEngine来评估你的JRuby代码.例如,这是一些JRuby代码: require 'java' java_import 'javax.swing.JFrame' java_import 'javax.swing.JButton' class MyFrame < JFrame def initialize super('Test') content_pane.add(JButton.new("Hello")) pack() end end 然后可以从这样的Java类调用此代码: import javax.swing.JFrame; import javax.script.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("jruby"); Reader reader = new FileReader("myframe.rb"); engine.eval(reader); // Instantiate the JRuby class,and cast the result of eval. JFrame frame = (JFrame) engine.eval("MyFrame.new"); frame.setVisible(true); } } 在这里,eval返回的对象可以像你期望的那样被转换为JFrame.有关该问题,另请参见this question. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 使用railsInstaller安装的Ruby on rails窗
- c – 如何运行GCC/C++lang进行静态分析? (仅限警告)
- c – std :: async – std :: launch :: async |的std ::推
- SAX解析xml,characters方法遇到的问题
- 依赖注入 – 我对使用IoC时的界面抽象感到困惑
- ruby – 解决map reduce问题
- 录制音频文件并在iPhone上本地保存
- .net WebAPI返回xml、json格式
- TDD与VTDD系列(五):提升产能1/3的开发方法:VTDD(概述)
- Cassandra学习笔记之Gossip协议