久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

JRuby:使Java和Ruby成為一家人

 爪哇島2 2006-12-27
一,、 引言

  Ruby是現(xiàn)在編程界討論得正熱火朝天的一種語(yǔ)言。這種語(yǔ)言功能強(qiáng)大而且易于使用,;同時(shí)Ruby還緊密綁定到例如Ruby on Rails等web應(yīng)用程序開(kāi)發(fā)框架中,。另一方面,在過(guò)去的十年間,,Java正迅速成長(zhǎng)為業(yè)界領(lǐng)先的面向?qū)ο蟮能浖_(kāi)發(fā)語(yǔ)言并且運(yùn)行于諸多平臺(tái)之上,。而JRuby則是一個(gè)100%的Ruby編程語(yǔ)言的純Java實(shí)現(xiàn)。本文是JRuby的一個(gè)入門(mén)篇,;同時(shí),,還會(huì)向你展示它是如何結(jié)合Java語(yǔ)言的優(yōu)勢(shì),從而提供給Java開(kāi)發(fā)者一個(gè)快速而強(qiáng)有力的創(chuàng)建應(yīng)用程序的可選方案的,。

  二,、 Ruby-席卷計(jì)算世界的腳本化語(yǔ)言

  近幾個(gè)月來(lái),在編程領(lǐng)域的幾乎每一個(gè)人可能都會(huì)耳濡目染Ruby,。日益盛行的Ruby on Rails web開(kāi)發(fā)框架正在幫助使Ruby成為快速開(kāi)發(fā)和測(cè)試應(yīng)用程序的一門(mén)語(yǔ)言,。作為一種解釋性的腳本化語(yǔ)言,Ruby提供了快速而容易的面向?qū)ο缶幊碳夹g(shù),,同時(shí)還提供了許多非常干凈利索的特征,,例如closure,塊和mixins,。另外,,Ruby還是高度可移植的,可以廣泛運(yùn)行于Unix/Linux,,Windows以及MacOS平臺(tái)之上,。要想全面了解Ruby,我建議你去閱讀W.Jason Gilmore的文章,。

  三,、 Java-輝煌的面向?qū)ο笳Z(yǔ)言的十年

  Java最早由Sun Microsystems的James Gosling在上一世紀(jì)九十年代創(chuàng)建。當(dāng)時(shí),,Gosling開(kāi)發(fā)這一語(yǔ)言的主要目的是想提供一種虛擬機(jī)和一種C風(fēng)格的標(biāo)志語(yǔ)言,,同時(shí)使之具有比C/C++更為一致和更為簡(jiǎn)單的特征。Java的另一個(gè)主要的目標(biāo)是提供一種"編寫(xiě)一次處處都能運(yùn)行"(WORA)的理想語(yǔ)言,,允許一個(gè)程序在一種平臺(tái)上開(kāi)發(fā)而能夠不經(jīng)任何重編譯即可運(yùn)行于另一種平臺(tái),。這個(gè)Java平臺(tái)由一個(gè)Java運(yùn)行時(shí)刻環(huán)境和Java軟件開(kāi)發(fā)包(SDK)組成。現(xiàn)在,,Java能夠?yàn)閺囊苿?dòng)設(shè)備到企業(yè)系統(tǒng)的諸多平臺(tái)提供SDK,,這分別對(duì)應(yīng)于它的JavaSE,EE和ME技術(shù)。在過(guò)去的十年間,,Java已經(jīng)被廣泛應(yīng)用于移動(dòng)設(shè)備,、無(wú)人值守系統(tǒng)、web應(yīng)用程序,、金融系統(tǒng)以及實(shí)時(shí)系統(tǒng)等眾多開(kāi)發(fā)領(lǐng)域,。

  四、 JRuby-Java虛擬機(jī)(JVM)上運(yùn)行的Ruby

  JRuby則是一個(gè)100%的Ruby編程語(yǔ)言的純Java實(shí)現(xiàn),,這種語(yǔ)言在CPL,,GPL和LGPL三種開(kāi)源許可下發(fā)行。它是一個(gè)1.8.4 Ruby解釋器,,其中提供了大多數(shù)Ruby的內(nèi)置類(lèi),。JRuby支持從一個(gè)Ruby程序中定義Java類(lèi)并實(shí)現(xiàn)與之交互,另外還對(duì)Bean腳本化框架實(shí)現(xiàn)支持,。在本文成文之時(shí),,JRuby的當(dāng)前版本是0.9.1。JRuby使Ruby程序能夠存取Java類(lèi),,允許它們作為程序內(nèi)使用的一級(jí)對(duì)象,。如今,JRuby的創(chuàng)始人,,Thomas Enebo和Charles Nutter,,已經(jīng)受雇于Sun專(zhuān)門(mén)研究開(kāi)發(fā)JRuby。

  五,、 運(yùn)行你的第一個(gè)JRuby程序

  JRuby的發(fā)行中帶有一個(gè)tar.gz文件,。在本文中,我基于Windows系統(tǒng)并使用JRuby的jruby-bin-0.9.1.tar.gz二進(jìn)制發(fā)行版本以及Java SE版本1.5.0_06,。在解壓這些發(fā)行文件后,,會(huì)出現(xiàn)一個(gè)jruby-0.9.1文件夾,其中包含的子文件夾有:bin,,docs,,lib和samples。注意,,你可以添加一個(gè)指向這個(gè)目錄的JRUBY_HOME環(huán)境變量,,然后把%JRUBY_HOME%bin(在UNIX系統(tǒng)上是$JRUBY_HOMEbin)添加到你的系統(tǒng)路徑下。JRuby發(fā)行版的bin目錄中包含一個(gè)jruby.bat文件,,它用于運(yùn)行JRuby解釋器程序,。從命令行下運(yùn)行"jruby -version"可以測(cè)試JRuby是否正確工作:

C:JRubyjruby-0.9.1>jruby -version
ruby 1.8.5 (0) [java]

  在上面的samples目錄中,你可以找到一些展示JRuby功能的示例Ruby程序,。作為第一個(gè)示例,你可以看一下下面這個(gè)java2.rb示例。這個(gè)示例包含了下列Ruby代碼:

require "java"
filename = "./samples/java2.rb"
fr = java.io.FileReader.new filename
br = java.io.BufferedReader.new fr
s = br.readLine
print "------ ",, filename,, "------n"
while s
puts s.to_s
s = br.readLine
end
print "------ ", filename,, " end ------n";
br.close

  第一行代碼負(fù)責(zé)啟動(dòng)JRuby的Java支持并且允許一個(gè)Ruby程序使用Java類(lèi),。

  該程序定義了一個(gè)指向文件"./samples/java2.rb"的java.io.FileReader。然后,,它聲明了一個(gè)java.io.BufferedReader用于緩沖經(jīng)由FileReader讀取的數(shù)據(jù),。本文程序從這個(gè)文件中讀取所有的代碼并且把它們輸出到控制臺(tái)。下面是使用JRuby運(yùn)行這個(gè)Ruby腳本的輸出結(jié)果:

C:JRubyjruby-0.9.1>jruby .samplesjava2.rb
------ ./samples/java2.rb------
require "java"
filename = "./samples/java2.rb"
fr = java.io.FileReader.new filename
br = java.io.BufferedReader.new fr
s = br.readLine
print "------ ",, filename,, "------n"
while s
puts s.to_s
s = br.readLine
end
print "------ ", filename,, " end ------n";
br.close
------ ./samples/java2.rb end ------
C:JRubyjruby-0.9.1>

  到現(xiàn)在為止,,你已經(jīng)能夠使用JRuby運(yùn)行一個(gè)Ruby腳本;該腳本能夠使用Java類(lèi)讀取一個(gè)文件并且輸出其內(nèi)容,。這是JRuby向Ruby用戶(hù)展示的一個(gè)強(qiáng)有力的概念,。

共2頁(yè)。 1 2 8 :

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多