Ruby是一種跨平臺、面向?qū)ο蟮膭討B(tài)類型編程語言。Ruby 體現(xiàn)了表達的一致性和簡單性,它不僅是一門編程語言,更是表達想法的一種簡練方式。它的靈感與特性來自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 語言。由 Ruby 語言本身還發(fā)展出了JRuby(Java 平臺)、IronRuby(.NET 平臺)等其他平臺的 Ruby 語言替代品。
今天Ruby的核心開發(fā)產(chǎn)品經(jīng)理圓田裕貴(Yugui)宣布Ruby1.9.2正式版本發(fā)布。Ruby1.9自從1.9.0發(fā)布以來已經(jīng)有兩年多的時間了,但是由于1.9在很多方面對1.8進行了重大的改進和升級,很多新功能新特性并沒有完全成熟,所以1.9遲遲沒有正式進入應(yīng)用領(lǐng)域,當(dāng)然1.9也一直不停進行改進。Ruby,一種為簡單快捷面向?qū)ο缶幊蹋嫦驅(qū)ο蟪绦蛟O(shè)計)而創(chuàng)的腳本語言,由日本人松本行弘(まつもとゆきひろ,英譯:Yukihiro Matsumoto,外號matz)開發(fā),遵守GPL協(xié)議和Ruby License。
Ruby 的特點
完全面向?qū)ο笤赗uby語言中,任何東西都是對象,包括其他語言中的基本數(shù)據(jù)類型,比如整數(shù)
變量沒有類型 Ruby的變量可以保有任何類型的數(shù)據(jù)。
任何東西都有值 不管是數(shù)學(xué)或者邏輯表達式還是一個語句,都有值
命名規(guī)則 Ruby的變量有一定的規(guī)則,以$開頭的一定是全局變量,以@開頭的都是實例變量,而以@@開頭的是類變量。
常數(shù)則以大寫字母開頭;這種方法,對文本編輯器的命令補全很有幫助,如在vim下先鍵入$及開頭字母,再敲擊Ctrl+p,則可專門補全本文件以及關(guān)聯(lián)文件中的全局變量,perl與php亦有此優(yōu)點。
已經(jīng)定義的類可以在運行時修改
Ruby是動態(tài)語言,你可以在程序中修改先前定義過的類。 也可以在某個類的實例中定義該實例特有的方法,這叫做單立方法。
Ruby V2.3.3正式版
此版本包含關(guān)于 Refinements 和 Module#prepend 的錯誤修復(fù)。 若在同一個類中混合使用 Module#refine 和 Module#prepend 可能會導(dǎo)致 NoMethodError。 這次發(fā)布是在 Ruby 2.3.2 基礎(chǔ)上做的改進升級。 詳細信息,請參閱 ChangeLog。
Ruby 1.9.3 第一個預(yù)覽版已經(jīng)發(fā)布了,這是一個參照級的版本,有可能包含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. 語言變化:
正則表達式現(xiàn)在支持 Unicode6.0(新的字符和腳本)
正則表達式現(xiàn)在支持Age屬性(實驗階段)
使用指令開啟/關(guān)閉縮進警告。
經(jīng)過兩年多持續(xù)改進,1.9.2作為真正成熟的,可以被用于生產(chǎn)領(lǐng)域的版本現(xiàn)在終于正式發(fā)布了。1.9.2和1.9.1基本兼容,并且在1.9.1之上還進行了很多改進,如:
支持IPv6的新的socket api
新的字符串編碼解決方案
正則表達式的性能提升
調(diào)用本地庫的方式正式引入FFI
目前Ruby1.9.2已經(jīng)通過了99%的RubySpec測試,建議大家可以嘗試使用了。1.9.2相比1.9.1在性能上也有很大的提高,當(dāng)然更不用說比1.8自然有巨大提高。此外1.9.2現(xiàn)在已經(jīng)支持在各種Linux操作系統(tǒng),F(xiàn)reeBSD,MacOSX,以及Windows操作系統(tǒng)上面運行了。