在学习ruby的时候,我感觉对于各种级别的方法有更清晰的认识(当然我是指从面向对象的角度)。在ruby中一切都是对象,从这个角度看其他编程语言(如java)各种级别的(类、对象)的方法的时候,我们会对其他语言的级别的理解会更加清晰(个人观点)。下面一个小例子就可以说明这一点。
在java中static方法,就是类方法。比如下面代码的main方法:
package m.s.n;
public class Hello{
String xxx;
public Hello(String ttt){
this.xxx=ttt;
}
public void sayHello(){
System.out.println(xxx);
}
public static void main(String[] args){
Hello hello=new Hello("Hello,man");
hello.sayHello();
}
}
这一点在ruby中有更清晰的了解。
把该文件编译后制成jar文档,文件名假设为hello.jar,在jruby中将之引入,相关代码如下:
include Java
require 'hello.jar'
include_class "m.s.n.Hello"
#hello=Hello.new("Java,hello")
#hello.sayHello
Hello.main(Array.new.to_java(:string))
这就很清楚的看到,java中的静态方法就是ruby中的类方法。我觉得这样的话,可以加深对面向对象的理解(从java的角度看,因为java还不是那么的彻底的OO)。
初识jruby,希望各位在这方面有心得的童鞋们能不吝赐教。
分享到:
相关推荐
JRuby 1.7.14 修复了一系列具体的 bugs,涉及字符串操作、Tempfile 管理、Java 8 接口的静态方法调用、资源释放、数组操作、JMX 绑定问题、Java 8 性能问题、JRuby 类加载器问题、嵌入式 JAR 文件加载、$LOAD_...
#### JRuby:Ruby与Java的桥梁 对于长期使用Java进行开发的程序员而言,Ruby提供了一种全新的视角和工具箱。通过JRuby这一解释器,Ruby可以无缝集成到Java环境中,使得开发者能够在保留Java强大生态系统的同时,...
而JRuby则完全支持Ruby的所有特性,如块、方法定义和模块,同时也允许与Java无缝交互。 在高级Java集成方面,Groovy提供了Groovy JDK,它扩展了Java标准库,提供了许多方便的工具方法。相比之下,JRuby则可以直接...
1. **Jruby** 是Ruby语言的一个实现,它允许开发者利用Ruby的优雅语法和强大的元编程能力,同时享受到与Java平台的无缝集成。Jruby支持Rails框架,使得Java开发者可以利用Ruby on Rails进行快速Web应用开发。 2. **...
通过JRuby,开发者可以充分利用Ruby的简洁性和Java的性能优势。JRuby支持所有的Ruby语法,并且能够无缝集成Java代码。 - **语法特性**:继承了Ruby的所有优点,如简洁的语法、丰富的元编程能力。 - **应用场景**:...
汤姆·埃内博(Tom Enebo),JRuby的开发者,表达了对《Programming Ruby》第一版多年陪伴的感激之情,并期待第二版能够带来更多新鲜的内容与深度解析。 ### 总结 《Programming Ruby - The Pragmatic Programmer'...
例如,Kotlin在Android开发中受到青睐,Scala在大数据处理领域广泛应用,而Jython和JRuby则为那些希望在Java平台上使用Python或Ruby语法的开发者提供了便利。了解并熟练掌握这些非Java语言,可以极大地拓宽开发者在...
2. Middleman:同样是基于Ruby的静态站点生成器,通过gem安装后,也可在Java环境通过JRuby支持。 3. SiteMesh:这是一个Java应用的页面布局和装饰框架,它可以将布局模板与内容分离,生成静态HTML。 4. JHipster:这...
这个特性对于支持如JavaScript、Ruby等动态类型语言的Java实现,如JRuby和Rhino,以及Java自身的动态代理和反射机制都具有深远的影响。 `invokedynamic`指令的工作原理可以分为以下几个步骤: 1. **引导解析**:当...
JRuby on Rails是Ruby on Rails框架在JVM上的实现,它为开发者提供了Java平台的全部优势,如更好的性能、丰富的库支持以及与企业级应用的无缝集成。使用JRuby on Rails,开发者可以享受到动态语言的灵活性,同时受益...
2. JRuby:基于JVM的Ruby语言实现,允许Ruby语言在JVM上运行。 3. Groovy:基于JVM的静态类型语言,支持面向对象编程和函数式编程。 4. Scala:基于JVM的静态类型语言,支持面向对象编程和函数式编程。 5. Clojure:...
Java 6使得它们与Java的集成更加紧密,开发者可以利用Groovy的简洁语法和JRuby的Ruby特性来编写部分代码。 5. **动态类型与反射**:Java作为一个静态类型的编程语言,动态语言的灵活性常常体现在动态类型上。通过...
JRuby的出现为Java和Ruby之间提供了桥梁,使得开发者能够利用Java资源,但并不意味着Java开发者会大规模转向Ruby,相反,更多的情况是Ruby开发者寻求将应用部署在Java平台上。 总之,Java在Web开发领域的革新体现在...
JRuby是Ruby编程语言的一个实现,它允许开发者在Java平台上运行Ruby代码。而"parser"一词暗示这是一段用于解析Ruby代码的代码库。更具体地说,"jruby-parser"是针对Ruby语法解析器的一个实现,它能够分析Ruby源代码...
ScriptingContainer_LeakRepro SINGLETHREAD LocalContextScope实例的ChannelDescriptor对象的 JRuby ScriptingContainer 泄漏的... 输出ChannelDescriptor类为活动描述符维护的filenoDescriptorMap静态映射的大小。
Mirah,又叫做Duby,又一个基于JVM平台的静态类型语言,它拥有Ruby一样的语法的同时,且拥有Java般的速度。他是由JRuby衍生出来的项目,旨在让Ruby能更进一步的沁入JVM平台。 Mirah(Duby)的特性: Ruby的语法 可...
6. **JRuby和Jython集成**:允许在Java应用中直接使用Ruby和Python语言。 **JDK 1.7(也称为Java 7)** 2011年发布的JDK 1.7,继续扩展了Java的功能,并引入了一些关键改进: 1. **钻石操作符**:简化了无参构造器...
2. **脚本引擎**:Java支持多种脚本引擎,例如Nashorn(JavaScript引擎,自Java 8开始提供,但在Java 15中已废弃)、Rhino(JavaScript的早期实现)、GroovyEngine(Groovy语言的引擎)、JRuby(Ruby语言的引擎)等...
例如,Ruby开发者在面临性能压力时,会选择使用JRuby,一个在JVM上运行的Ruby实现,以利用Java的多线程能力。 再者,Java是初学者的首选语言,尤其在教育领域。许多大学和高中课程都将Java作为入门语言,培养了一代...
这意味着无论你是用标准的Ruby解释器还是基于Java的JRuby,都可以享受到这个库带来的益处。 5. **许可证**: Dry-TYPES遵循的许可证可以在LICENSE文件中查看,通常开源项目会使用MIT、Apache或GPL等许可,这允许你...