使用Java类时的JRuby限制
就我所了解的JRuby而言,在JRuby代码中使用Java类是完全可能的,反之亦然,然而,我仍然不了解一些事情使用Java类时的JRuby限制,java,ruby,jruby,Java,Ruby,Jruby,就我所了解的JRuby而言,在JRuby代码中使用Java类是完全可能的,反之亦然,然而,我仍然不了解一些事情 JRuby可以使用Java注释吗 可以在Java类上使用JRuby的反射吗 可以在JRuby类上使用Java反射吗 我在JRuby中有可执行类吗 可以在JRuby脚本中重新定义Java类吗?(与我在C Ruby中重新定义整数的方法相同) 是否存在任何其他限制,阻止将JRuby用作任何Java应用程序的一部分 JRuby可以使用Java注释吗 不,Ruby没有注释。不过,编译器允许
- JRuby可以使用Java注释吗
- 可以在Java类上使用JRuby的反射吗
- 可以在JRuby类上使用Java反射吗
- 我在JRuby中有可执行类吗
- 可以在JRuby脚本中重新定义Java类吗?(与我在C Ruby中重新定义整数的方法相同)
- 是否存在任何其他限制,阻止将JRuby用作任何Java应用程序的一部分
- JRuby可以使用Java注释吗
- 可以在Java类上使用JRuby的反射吗
- 可以在JRuby类上使用Java反射吗
- 我在JRuby中有可执行类吗
- 可以在JRuby脚本中重新定义Java类吗?(与我在C Ruby中重新定义整数的方法相同)
import java.util.Vector
class Vector
def foo
"foo!"
end
end
v = java.util.Vector.new
v.foo # => "foo!"
- 是否存在任何其他限制,阻止将JRuby用作任何Java应用程序的一部分
当使用JRuby中的Java时,会有很多问题。ruby2java仍处于初级阶段,我不确定它是否已经为生产环境做好了准备。除此之外,重点是使用BSF和JSR223编写脚本,这可能适合您的目的,也可能不适合您的目的。JRuby 1.4确实包含一些对Ruby类注释的支持,但仅在运行时提供。查看使用新的运行时类生成与基于注释的框架进行互操作的示例
Pesto的其余答案基本正确。JRuby现在确实支持通过注释,但它有一些限制。到目前为止,在我的经验中,一个严重的问题是它需要使用
been\ujava代码>(未记录)。这会阻止您在Ruby类上使用注释,这些Ruby类是由于问题而从Java超类子类化的
这在web编程中是一个相当大的问题,许多框架使用注释作为路由系统。这实际上意味着您无法为控制器创建父类。可执行类意味着类定义是可执行代码,例如,在这种情况下,是的,JRuby类与Ruby类完全相同。应该注意的是,java\u注释“TheAnnotation”调用支持注释
import java.util.Vector
class Vector
def foo
"foo!"
end
end
v = java.util.Vector.new
v.foo # => "foo!"