Ruby三十七个特点

豆豆网   技术应用频道   2008年01月18日  【字号: 收藏本文

内容摘要:Ruby,一种为简单快捷面向对象程序设计而创的脚本语言,由日本人Yukihiro Matsumoto(外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为“Ruby > Smalltalk + Perl”,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的程序语言。

  Ruby,一种为简单快捷面向对象程序设计而创的脚本语言,由日本人Yukihiro Matsumoto(外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为“Ruby > Smalltalk + Perl”,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的程序语言。

  1、Ruby 是面向对象语言。 这意味着什么呢?的确,关于“什么是 OOP”,每十位程序员当中恐怕就有十二种看法。这个问题我留待您自己判断。而就特征而言,Ruby 提供了机制,将数据和方法封装到对象里,实现了一个类到另一个类的继承机制,还提供对象多态机制。与某些语言(C++、Perl 5 等等)不同的是,Ruby 从一开始的时候就是以面向对象为目标来设计的。

  2、Ruby 是“纯正”的 OOP 语言。 我说重复了么?我可不这么认为。说“纯正”,这就意味着,所有的一切——包括字符串或整型之类的基本数据类型——都是以对象的形态来表达的。在 Ruby 中用不着 Java 里面提供的那种 wrapper class(包裹类)(译注:wrapper class 用来将基本类型包装成对象类型)。而且,甚至连常量都被当作对象来对待,因此方法可以由——比如数字常量——来唤起。

  3、Ruby 是动态语言。 对于只熟悉诸如 C++、Java 等静态语言的人而言,这就是个新概念。所谓动态意味着,可以在运行期动态地追加或者重新定义方法和变量。这种动态机制免除了对 C 语言中条件编译(#ifdef)这类功能的需要,并且使构建复杂的 reflection(内省机制)API 成为可能。复杂的 reflection 机制又进而使得程序可以变得更为“自知(self-aware)”——从而为如下诸多功能开启了方便之门:运行期类型信息、丢失方法的侦测、能够侦测新追加的方法的钩子技术,等等。从这个方面来看,Ruby 与 Lisp 和 Smalltalk 有些许亲缘关系。

责编:豆豆技术应用

正在加载评论...