簡介
Ruby 是一種開源的面向對象程序設計的服務器端腳本語言,在 20 世紀 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)設計并開發。在 Ruby 社區,松本也被稱為馬茨(Matz)。Ruby 可運行于多種平台,如 Windows、MAC OS 和 UNIX 的各種版本。
發展曆史
Ruby的作者于1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發布于fj(新聞組)。之所以稱為Ruby,是因為Perl的發音與6月的誕生石pearl(珍珠)相同,因此Ruby以7月的誕生石ruby(紅寶石)命名。Ruby明顯比其他類似的編程語言(如Perl或Python)年輕,又因為Ruby是日本人發明的,所以早期的非日文資料和程序都比較貧乏,所以現在在網上仍然可以找到Ruby的資料太少之類的批評。約于2000年,Ruby開始進入美國,英文的資料開始發展。Ruby現在的穩定版本是1.8.6(2007年3月12日發布)。n
編程理念
減少編程時候的不必要的瑣碎時間,令編寫程序的人高興,是設計Ruby語言的Matz的一個首要的考慮;其次是良好的界面設計。他強調系統設計必須強調人性化,而不是一味從機器的角度設想。“人們特别是電腦工程師們,常常從機器着想。他們認為:“這樣做,機器就能運行的更快;這樣做,機器運行效率更高;這樣做,機器就會怎樣怎樣怎樣。”實際上,我們需要從人的角度考慮問題,人們怎樣編寫程序或者怎樣使用機器上應用程序。我們是主人,他們是仆人。”
遵循上述的理念,Ruby語言通常非常直觀,按照編程人認為它應該的方式運行。Semantics Ruby是完全面向對象的:任何一點數據都是對象,包括在其他語言中的基本類型(比如:整數,布爾邏輯值),每個過程或函數都是方法。
語言特點
完全面向對象n
在Ruby語言中,任何東西都是對象,包括其他語言中的基本數據類型,比如整數
變量沒有類型
Ruby的變量可以保有任何類型的數據。
任何東西都有值
不管是數學或者邏輯表達式還是一個語句,都有值
命名規則
Ruby的變量有一定的規則,以$開頭的一定是全局變量,以@開頭的都是實例變量,而以@@開頭的是類變量。常數則以大寫字母開頭;這種方法,對文本編輯器的命令補全很有幫助,如在vim下先鍵入$及開頭字母,再敲擊Ctrl+p,則可專門補全本文件以及關聯文件中的全局變量,perl與php亦有此優點。已經定義的類可以在運行時修改
Ruby是動态語言,你可以在程序中修改先前定義過的類。也可以在某個類的實例中定義該實例特有的方法,這叫做單立方法。
Ruby 支持一套豐富的運算符。大多數運算符實際上是方法調用。例如,a + b 被解釋為 a.+(b),其中指向變量 a 的 + 方法被調用,b 作為方法調用的參數。n對于每個運算符(+ - * / % ** & | ^ << >> && ||),都有一個相對應的縮寫賦值運算符(+= -= 等等)。
深入概述
Ruby是一種功能強大的面向對象的腳本語言,她可以使您方便快捷地進行面向對象編程.有時使用像Smalltalk、Eiffel或C++這樣正式的面向對象語言來開發一些小項目顯得有點"小題大做",而Ruby剛好可以滿足這些面向對象編程的需求.當然了,您也可以使用Ruby進行普通的面向過程編程.
Ruby的文本處理能力極強,與Perl不分伯仲.同時,Ruby的語法簡單,還有異常處理以及叠代器等構造,使編程變得簡單明了.
簡而言之,您可以像使用Perl一樣方便快捷地進行面向對象的開發.怎麼樣?趕緊試一試吧!
Ruby是由松本行弘開發的免費軟件.
Ruby的特長
語法簡單
普通的面向對象功能(類,方法調用等)
特殊的面向對象功能(Mixin,特殊方法等)
操作符重載
錯誤處理功能
叠代器和閉包
垃圾回收
動态載入(取決于系統架構)
可移植性高.不僅可以運行在多數UNIX上,還可以運行在DOS,Windows,Mac,BeOS等平台上
Ruby名字的由來
首先明确一點,Ruby并不是其他單詞的縮寫。受Perl的影響,Matz也想用一種寶石來命名他的新語言,他使用了他的一位同事的生肖石-紅寶石。後來,Matz意識到Ruby這個名字十分恰當,首先,在生肖石中,Pearl代表六月,而Ruby代表七月。在字體大小上,Pearl大小是5pt,ruby的大小是5.5pt。所以Ruby這個名字對于一種Perl的後續語言十分合适。
遊戲腳本
RGSS (Ruby Game Scripting System),中文意思就是:Ruby遊戲腳本系統,是一個腳本性質的遊戲編程系統,并不是整個遊戲都用它來生成,RGSS所能做的隻是一些有限的功能,而這些功能,是由廠家也就是EnterBrain所規定的,我們隻能在自己力所能及的範圍内來挖掘RGSS的潛力。
腳本(Script):
腳本這個概念應用的範圍很廣,Windows系統裡就有VBScript,JavaScript,WScript等腳本程序,Unix系統也有很多Perl,C等腳本程序,腳本可以解釋為是一種系統内用來實現一些特定功能的有着局限性的編程環境。有的腳本可以觸及到系統底層,有的卻隻是完成一些運算或者控制流程的功能,這取決于腳本系統的權限,也可以說取決于腳本系統所提供的庫函數功能。



















