|
Ruby是一种简单易学的面向对象的脚本语言, 像perl一样,有丰富的文字处理、系统管理等丰富 功能,但是ruby要简单,容易理解和扩充。跟python很类似,但是在国内远没有python有名。
一般认为,他有如下特点:
* 简单
解释型语言(インタプリタ),所以不必事先编译(コンパイル)。
变量没有类型的区分,虽然可以省去类型错误的担忧,但也会引起编译时候检查的脆弱。
变量不需要定义。
简单的语法,多从Eiffel继承而来。
不需要内存管理,系统提供GC(ガーベージコレクタ)处理机制。
* 纯的面向对象的语言
一切都是对象,像整数等类型从开始就被设计为对象来处理。
class(クラス),继承,method(メソッド)等
(特殊方法?)特異メソッド
module(モジュール)によるMixin
迭代(イテレータ)和闭包(クロージャ)。一个在闭包开始时定义的资源在闭包结束后会被释放, 适合于socket,数据库连接,文件句柄等。
* 脚本语言
解释执行
很强的文字处理能力和正则表达式
直接访问OS,用ruby编写系统程序也是可能的。
* 其他
支持多种长整数,内存允许,可以进行很大数的计算操作。
具备异常处理能力,具备java的异常处理功能。
dynamic loading(ダイナミックローディング )。可以在运行时候重定义自己, 类也可以在运行时继承/取消继承。
线程。现在的ruby已经有线程的概念,Ruby2.0好像能支持本地线程。
反射(Reflection)。Ruby可以看到程序的内部,比如一个模块是否含一个特定方法, 一个对象是哪个class等等。类似java。
扩展性。C api。
发行许可证。基于Ruby Artistic License (BSD样式的)和GPL。 |
|