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