卷首语

Ruby是一种简便快捷的面向对象编程的脚本语言.Ruby可以(像Perl一样)进行文本处理及系统管理,其功能十分丰富.同时,Ruby简单易懂,便于扩充.

若您正在寻找一种简单的面向对象语言,或者觉得Perl不够简便,又或者虽然喜欢Lisp的思想却讨厌到处都是括号的话,Ruby正是您不二的选择.

Ruby有下列优点.

解释器

Ruby是解释型语言,因此执行程序时无需编译.

变量无类型(动态地确定类型)

Ruby的变量可以接收各种类型的数据,因此没有必要担心变量类型的问题.另一方面,这弱化了编译检查的功能.

无需声明变量

Ruby中无需声明变量即可使用.可以根据变量名分辨变量的种类(局部变量,全局变量,实例变量等).

语法简单

受Eiffel影响,Ruby的语法十分简单.

内存管理无需用户干预

Ruby自动进行内存管理.解释器内置的垃圾回收器会自动回收不再使用的对象.

一切都是对象

从一开始Ruby就被设计成为纯粹的面向对象语言.包括整数这种基本的数据类型在内所有数据都被看是对象,进而得到统一的处理.

类,继承,方法

Ruby当然具有面向对象语言的基本功能,包括类,继承和方法等.

特殊方法

可向某对象添加方法.例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程(只要您想这样的话).

使用模块进行糅合(Mix-in)

Ruby认为多重继承会导致问题复杂化,因此故意舍弃了多重继承,但可以使用模块超越类的界限来共享数据和方法等.这就是"Mix-in"糅合功能

迭代器

迭代器功能可以将流程控制结构抽象化.

闭包

可以将某过程片段对象化,对象化后的该过程片段就称作闭包.

功能强大的字符串操作/正则表达式

以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能.

超长整数

内置了处理超长整数的功能,所以只要内存允许就可以计算非常大的整数.例如计算400的阶乘等也轻而易举.

异常处理功能

异常处理功能可以使您编写代码处理异常情况.

可以直接访问OS

Ruby可以使用(UNIX的)绝大部分的系统调用.即使单独使用Ruby也可以进行系统编程.

动态加载

若OS支持的话,可以在运行时读入对象文件.