Ruby概述
Ruby是面向對象的編程語言,她追求的是“簡便快捷的面向對象編程”。Ruby是解釋型語言,因此不需編譯即可快捷地編程。同時Ruby具有類似 Perl的強大的文本處理功能,她可并不只是個玩具,您可以用她來進行實用的編程。此外,您還可以很方便地使用C語言來擴展Ruby的功能,因此可以把她當作各種庫的前端來使用。若您曾經“想要一種簡單的面向對象的語言”,或者認為“Perl的功能雖然好用,但它的語法真讓人受不了”,又或者覺得“lisp系列語言的思想不錯,但到處都是括號真讓人討厭,最起碼算式應該按照通常的樣式書寫”。那么,Ruby或許能讓您滿意。
歸納以來,Ruby有以下優點。
- 解釋器
- Ruby是解釋型語言,其程序無需編譯即可輕松執行。
- 變量無類型
- Ruby的變量沒有類型,因此不必為靜態的類型匹配而煩惱。相應地,錯誤檢查功能也變弱了。
- 不需要變量聲明
- 所有變量均無需聲明即可立即使用。另外,從變量名即可判斷出是何種變量(局部變量,全局變量,實例變量)。
- 語法簡單
- 語法比較簡單,類似Algol系語法。
- 不需要內存管理
- 具有垃圾回收(Garbage Collect,GC)功能,能自動回收不再使用的對象。
- 一切都是對象
- Ruby從一開始就被設計成純粹的面向對象語言,因此以整數等基本數據類型為首的所有東西都是對象,它們都有發送信息的統一接口。(這方面連Java都不如Ruby)
- 類,繼承,方法
- Ruby當然具有面向對象語言的基本功能。
- 特殊方法
- 可向某對象添加方法。例如,可以把GUI按鈕被按下時的動作作為方法記述下來,還可以用它來進行原型庫(prototypebase)的面向對象編程(有人這么干吧)。
- 用模塊進行混合插入(Mixin)
- Ruby故意舍棄了多重繼承,但擁有混合插入功能。使用模塊來超越類的界限來共享數據和方法等。
- 迭代器
- 該功能可以將循環抽象化。
- 閉包
- 可以將某過程片段對象化。對象化后的該過程片段就稱作閉包。
- 功能強大的字符串操作/正則表達式
- 以Perl為樣板創造出了功能強大的字符串操作和正則表達式檢索功能。
- 擁有超長整數
- 添加超長整數功能后,可以計算非常大的整數。例如計算400的階乘也輕而易舉。
- 具有錯誤處理功能
- 錯誤處理功能可以使您編寫代碼處理出錯情況。
- 可以直接訪問OS
- Ruby可以使用(UNIX的)絕大部分的系統調用。單獨使用Ruby也可以進行系統編程。
- 動態加載
- 若OS支持的話,可以在運行時讀入對象文件。
但Ruby也有下列缺點。
- 因為Ruby是解釋型語言,所以速度較慢
- 靜態檢查比較少
Technorati Tags: Ruby
posted on 2005-06-16 17:04 Blake HAN 閱讀(1145) 評論(1) 編輯 收藏 所屬分類: ROR