教程:Ruby概述

php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby是面向对象的php?name=%B1%E0%B3%CC%D3%EF%D1%D4" onclick="tagshow(event)" class="t_tag">编程语言,她追求的是“简便快捷的面向对象编程”。php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby是解释型语言,因此不需编译即可快捷地编程。同时php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby具有类似 Perl的强大的文本处理功能,她可并不只是个玩具,您可以用她来进行实用的编程。此外,您还可以很方便地使用C语言来扩展php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby的功能,因此可以把她当作各种库的前端来使用。

若您曾经“想要一种简单的面向对象的语言”,或者认为“Perl的功能虽然好用,但它的语法真让人受不了”,又或者觉得“lisp系列语言的思想不错,但到处都是括号真让人讨厌,最起码算式应该按照通常的样式书写”。那么,Ruby或许能让您满意。

归纳以来,Ruby有以下优点。

解释器
  Ruby是解释型语言,其程序无需编译即可轻松执行。
变量无类型
  Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。
不需要变量声明
  所有变量均无需声明即可立即使用。另外,从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。
语法简单
  语法比较简单,类似Algol系语法。
不需要内存管理
  具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。
一切都是对象
  Ruby从一开始就被设计成纯粹的面向对象语言,因此以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。
类,继承,方法
  Ruby当然具有面向对象语言的基本功能。
特殊方法
  可向某对象添加方法。例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程(有人这么干吧)。
用模块进行混合插入(Mixin)
  Ruby故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。
迭代器
  该功能可以将循环抽象化。
闭包
  可以将某过程片段对象化。对象化后的该过程片段就称作闭包。
功能强大的字符串操作/正则表达式
  以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。
拥有超长整数
  添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。
具有错误处理功能
  错误处理功能可以使您编写代码处理出错情况。
可以直接访问OS
  Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。
动态加载
  若OS支持的话,可以在运行时读入对象文件。

但Ruby也有下列缺点。

  * 因为Ruby是解释型语言,所以速度较慢
  * 静态检查比较少