Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java 平台)、IronRuby(.NET 平台)等其他平台的 Ruby 语言替代品。
今天Ruby的核心开发产品经理圆田裕贵(Yugui)宣布Ruby1.9.2正式版本发布。Ruby1.9自从1.9.0发布以来已经有两年多的时间了,但是由于1.9在很多方面对1.8进行了重大的改进和升级,很多新功能新特性并没有完全成熟,所以1.9迟迟没有正式进入应用领域,当然1.9也一直不停进行改进。Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。
完全面向对象在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数
变量没有类型 Ruby的变量可以保有任何类型的数据。
任何东西都有值 不管是数学或者逻辑表达式还是一个语句,都有值
命名规则 Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。
常数则以大写字母开头;这种方法,对文本编辑器的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,perl与php亦有此优点。
已经定义的类可以在运行时修改
Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单立方法。
Ruby V2.3.3正式版
此版本包含关于 Refinements 和 Module#prepend 的错误修复。 若在同一个类中混合使用 Module#refine 和 Module#prepend 可能会导致 NoMethodError。 这次发布是在 Ruby 2.3.2 基础上做的改进升级。 详细信息,请参阅 ChangeLog。
Ruby 1.9.3 第一个预览版已经发布了,这是一个参照级的版本,有可能包含Bug,但是这些Bug会在下一个版本Ruby 1.9.3-p0中修正。该版本自1.9.2以来的改进包括:
1. 许可证更改:
更改了Ruby 的许可证,从GPLv2双许可证更改为2-clause BSDL双许可证。
2. 升级了C API:
rb_scan_args() is enhanced with support for option hash argument extraction.
ruby_vm_at_exit() added. This enables extension libs to hook a VM termination.
3. 更新了库:
包括ARGF、 Array、Bignum、Encoding、File、IO、Kernel、Module、Random、String、Time、 Process等。
4. 语言变化:
正则表达式现在支持 Unicode6.0(新的字符和脚本)
正则表达式现在支持Age属性(实验阶段)
使用指令开启/关闭缩进警告。
经过两年多持续改进,1.9.2作为真正成熟的,可以被用于生产领域的版本现在终于正式发布了。1.9.2和1.9.1基本兼容,并且在1.9.1之上还进行了很多改进,如:
支持IPv6的新的socket api
新的字符串编码解决方案
正则表达式的性能提升
调用本地库的方式正式引入FFI
目前Ruby1.9.2已经通过了99%的RubySpec测试,建议大家可以尝试使用了。1.9.2相比1.9.1在性能上也有很大的提高,当然更不用说比1.8自然有巨大提高。此外1.9.2现在已经支持在各种Linux操作系统,FreeBSD,MacOSX,以及Windows操作系统上面运行了。