我正在试验 JRuby - 从 ruby 文件生成 java。我在 ruby 中有一个实现 Java 接口的抽象类,以及扩展它的子类。也在红宝石中。
我遇到了http://jira.codehaus.org/browse/JRUBY-6342中描述的问题,其中所有生成的 java 文件仅扩展 RubyObject。
我想知道是否有其他人遇到过这种情况并有解决方法?现在我在每个子类中都使用了 java_implement 接口,因为它们没有扩展抽象类。
我已经包含了 JRUBY-6342 中描述问题的片段:
jrubyc --java 生成的 Java 代码似乎不支持 Ruby 类继承。给出以下简单示例:
A类定义my_class;self.class.name end end
B类<A结束
B.java 中生成的类继承自 RubyObject 而不是 A,使得 B 类在 Java 中完全被破坏。在一些相关的说明中,模块包含似乎也不起作用。包含 M 的类不会在生成的 Java 代码中获取 M 的方法。
我对 Ruby 或 JRuby 的理解是否遗漏了什么?