JRuby
文章平均质量分 56
Java9K
Java技术专家,欢迎交流
展开
-
回归CSDN
今天开始在CSDN上新建了博客,这个博客主要写写JRuby的一些技术。原创 2013-11-21 14:48:35 · 605 阅读 · 0 评论 -
研读《Ruby元编程》一书
《Ruby元编程》以案例形式循序渐进讲解Ruby对象模型原理和高级应用技巧,堪称动态语言的设计模式。下面是一些评论:Paolo Perrotta有超过10年的软件设计和开发经验,发表过上百篇技术文章。他用过Java、C++、C#编程,最后爱上了Ruby。他是较早接受敏捷方法的实践者,在Yoox(一家大型互联网时尚公司)从事管理敏捷团队的工作。他还在欧洲各国教授编程培训课。目前他和女友(原创 2013-11-21 16:06:21 · 866 阅读 · 0 评论 -
《Ruby元编程》之Open Class
例如,在下面代码中:def to_alphanumeric(s) s.gsub /[^\w\s], ''end很显然,在上面代码中,to_alphanumberic这个方法不符合面向对象的思想,也不符合ruby的一切皆对象的思想。更好的方法是这个方法应该在字符串本身来提高,而不是Helper和Utils类。然后在String类添加这个方法,很简单:原创 2013-11-22 09:59:31 · 1482 阅读 · 0 评论 -
什么是JRuby
JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器。JRuby是原创 2013-11-21 15:38:18 · 1079 阅读 · 0 评论 -
《Ruby元编程》之class关键词
class是个关键词(Keyword)。 但跟java不同的是class并非是定义一种模板,并非类声明(class declaration)。而是一种操作符.记住:class不是class declaration,而是一种操作符。 这句话理解很关键,否则下面的代码你看不懂:(其实Ruby不应该跟java的class混用同一个名称,@#%…………,让人家理解混淆)。原创 2013-11-22 10:28:16 · 883 阅读 · 0 评论 -
面向对象:"一切皆对象”的困惑
一切皆对象,是非常好的哲学。而且,确实,面向对象会更加直观,明了。例如length(str)和str.length比较起来,很明显,后者str.length更加直观,明了,可读写强多了。 但是,现实中存在很多困惑。下面也Java为例。例如:1. 控制台Console是否一个对象?在Java中,打印一个字符串是,System.out.println("HelloWorld")原创 2013-11-22 14:27:13 · 1007 阅读 · 0 评论 -
《Ruby元编程》Open Class要特别注意名称覆盖
在Ruby中,class是开放的。 使用Open Class的关键问题在于: 名称覆盖。 就是你写的方法名称,特别要跟别人写的,不要相同。否则会覆盖,覆盖名称不要紧,连方法体都会覆盖,从而产生错误。名称这东西,很容易冲突。最简单的方式是,不断的往 名称添加父名称,祖父名称。。。构成下面形式: GrandfatherName.FatherName.Name。 在java中叫做packag原创 2013-11-22 11:06:49 · 814 阅读 · 0 评论 -
面向对象:类的完备性和扩展性
在前面的例子中,我们可以看到对String的to_alphanumeric的方法扩展。那么对于一个对象而言,例如ArrayList,只要具有了add/remove/get/update/iterator等,具有添加/删除/修改/读取/遍历等等,我们就认为该对象具有“完备性”。 也就是说这个类的对象,该有的就有了。在此基础上添加的,例如forEach/map等,其实并非属于Array原创 2013-11-22 13:55:47 · 1121 阅读 · 0 评论 -
面向对象:Close的问题
通常我们需要open一个东西,这个东西用完了,就需要Close。这样才符合真正的逻辑世界。有开必有关嘛。但人有惰性,经常写着写着就忘了close了。 另外一个,老是写一个close,每一样东西都要写close,多么的麻烦。有时候,为了给下面的类添加close,于是设计了IClosable这个接口,于是所有继承它的类,都必须实现close方法了。假如A,B,C都实现了IClosable,于是原创 2013-11-22 15:12:24 · 751 阅读 · 1 评论