Ruby是一種面向?qū)ο蟮脑幊陶Z(yǔ)言,是它讓許多開(kāi)發(fā)者感到驚訝,甚至令他們提出這樣的疑問(wèn):是否真正存在比Java和C#更好的語(yǔ)言?本文將對(duì)Ruby語(yǔ)言作初步的探討并試圖回答這一問(wèn)題。
一、 引言
你是否聽(tīng)說(shuō)過(guò)Ruby?如今,它成了軟件開(kāi)發(fā)界的一個(gè)流行話題。該語(yǔ)言在去年春天的一次Java會(huì)議上引起我的注意,當(dāng)時(shí)象Bruce Tate,Dave Thomas等著名人物都在談?wù)揜uby并且告訴在場(chǎng)的觀眾Ruby值得一看。
現(xiàn)在,如果你象我一樣正在從事軟件開(kāi)發(fā),那么我們就有共識(shí):盡管學(xué)習(xí)一種新的編程語(yǔ)言可能是一件趣事,但是只有你對(duì)它具有深入了解之后,你才有資格以一種懷疑眼光來(lái)看待另一種編程語(yǔ)言。畢竟,在上世紀(jì)八、九十年代的編程語(yǔ)言之爭(zhēng)最終得出結(jié)論-從根本上看存在兩大陣營(yíng):Java世界和微軟基于.NET支持的開(kāi)發(fā)語(yǔ)言。并不是我不想學(xué)習(xí)另一種語(yǔ)言,其實(shí)我只是期望通過(guò)選擇其它編程語(yǔ)言才能獲得一定技術(shù)優(yōu)勢(shì)的日子早點(diǎn)結(jié)束。然而,由于前面幾位著名人士的影響,我決定一試Ruby。
好,假定"我已經(jīng)到過(guò)山頂",那么本文就是我對(duì)Ruby的研究報(bào)告。
二、 安裝Ruby
Ruby是一種開(kāi)源的編程語(yǔ)言,由日本的Yukihiro Matsumoto在九十年代中期開(kāi)發(fā)。你可以在www.ruby-lang.org站點(diǎn)得到Ruby。這種語(yǔ)言最初被作為一種腳本語(yǔ)言創(chuàng)建,可應(yīng)用于許多平臺(tái)上,包括Linux、各種類UNIX、MS-DOS、Windows、BeOS、Amiga、Acorn Risc OS和MacOS X。當(dāng)前Ruby的最新版本是1.8.4。對(duì)于使用Windows平臺(tái)的用戶,你可以點(diǎn)按這里來(lái)得到一個(gè)"one-click"型Windows安裝程序。隨同基本的Ruby二進(jìn)制文件和庫(kù)文件,這一下載中還包含一些有用的(并且是免費(fèi)的)IDE和工具,包括幫助文檔和示例代碼,RubyGems包管理器,F(xiàn)reeRIDE(免費(fèi)的Ruby IDE),F(xiàn)ox GUI庫(kù),fxri(一種搜索引擎和Ruby文檔的GUI指南,還有一個(gè)交互式命令行工具)和SciTE(Scintilla文本編輯器IDE)。在寫本文時(shí),Windows安裝程序所提供的Ruby的"穩(wěn)定"版本是1.8.2,還有一個(gè)1.8.4版本的預(yù)覽版。注意,本文中的示例代碼是用Windows安裝程序所提供的1.8.2版本編寫的。
使用Windows安裝程序安裝Ruby是相當(dāng)直接的事情。你只要下載并運(yùn)行一個(gè)簡(jiǎn)單的可執(zhí)行安裝文件(ruby182-15.exe),這個(gè)程序就會(huì)啟動(dòng)一個(gè)標(biāo)準(zhǔn)的安裝向?qū)АO螺d文件大約有15MB,在向?qū)О裄uby安裝到Windows平臺(tái)上后占大約40MB的硬盤空間。
對(duì)于那些偏愛(ài)自己的編輯器的程序員,大量的編輯器都提供了對(duì)Ruby的支持,包括emacs,vim,JEdit,Jed,Nedit和Textpad。當(dāng)然,還有著名的Ruby Eclipse工程。Ruby開(kāi)發(fā)工具(RDT)是一種Eclipse插件,當(dāng)前仍處于早期開(kāi)發(fā)中,但是你可以從此處下載試用它。另外,市場(chǎng)上還有一些便宜的Ruby IDE,Arachno Ruby就是其中之一。
運(yùn)行Ruby
就象許多解釋性語(yǔ)言一樣,Ruby提供給程序員多種開(kāi)發(fā)代碼的方法。你可以使用命令行工具以交互方式運(yùn)行Ruby或者創(chuàng)建一個(gè)Ruby程序文件,然后要求Ruby的解釋器執(zhí)行此程序。
在Windows中,打開(kāi)命令行提示符窗口,在提示符上輸入"Ruby"并回車(注意:你應(yīng)該能夠使系統(tǒng)沿Ruby的\bin目錄找到Ruby可執(zhí)行文件)。那么,Ruby就會(huì)運(yùn)行并等候你輸入程序。輸入下面的程序,然后按Ctrl+D再按回車鍵,你就會(huì)看到Ruby執(zhí)行你的程序,如圖1所示。
def convertCtoF (celsius)
print(celsius.to_s + " degrees celsius is " + ((celsius * 9)/5 + 32).to_s + " degrees in fahrenheit\n") end convertCtoF(20) |
圖1.在Ruby中以交互方式運(yùn)行攝氏到華氏溫度轉(zhuǎn)換計(jì)算
圖1中的轉(zhuǎn)換程序也可以用一種Ruby IDE或簡(jiǎn)單文本編輯器實(shí)現(xiàn)并保存到一個(gè)文件中-例如convertCtoF.rb(.rb是Ruby程序的常用文件類型)。現(xiàn)在,Ruby解釋器將執(zhí)行這個(gè)文件中的Ruby程序,見(jiàn)圖2。
圖2.運(yùn)行convertCtoF.rb
那些熟悉Smalltalk,Common Lisp Object System(CLOS),或其它解釋性編程環(huán)境的用戶肯定都會(huì)熟悉交互的開(kāi)發(fā)環(huán)境。交互特點(diǎn)允許你用小塊編程代碼進(jìn)行試驗(yàn)。通過(guò)使用一個(gè)特殊的Ruby批處理文件irb.bat,你就能夠克服Ruby解釋器的非交互性特征。圖3顯示了使用irb.bat命令啟動(dòng)的Ruby。現(xiàn)在,代碼可以被逐行地輸入,解釋和測(cè)試。
圖3.交互式Ruby
交互式Ruby特征也被嵌入到若干工具中。例如,Ruby文檔的圖形接口fxri,不僅可作為一種語(yǔ)言指南,而且可以用作一種交互式Ruby解釋器(見(jiàn)圖4)。
圖4.fxri的交互式Ruby能力:在此,fxri也用來(lái)運(yùn)行和圖3相同的Ruby命令,但這是從文檔工具內(nèi)部運(yùn)行的。
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
