http://thekaiway.com
原文地址
下午無聊翻譯一下,看看ruby官方怎么和java對比
相同點:
類似于java,在ruby中:
不同:
于java不同的是,在ruby中:
你不必編譯代碼,你只需要直接運行代碼。
Gui開發(fā)包不同。比如,ruby的用戶會嘗試WxRuby,F(xiàn)XRuby,Ruby-GNOME2,或者基于Ruby Tk庫。
你要在定義任何事物(像class)后面加上關(guān)鍵字end,而不是用花括號({})來包圍代碼塊。
使用了require代替了import。
所有的成員變量(屬性)都是private級的。在類外訪問任何事物要通過方法調(diào)用。
什么都是對象,包括2和3.14159。
沒有靜態(tài)類型檢查。
變量名都只是標(biāo)簽,它們沒有與類型相關(guān)。
不用聲明變量類型,你只需要賦值給新的變量名就可以了(例子,a = [1,2,3] 相當(dāng)于 int[] a = {1,2,3};)。
沒有類型強(qiáng)制轉(zhuǎn)換這個概念,只管調(diào)用方法就好了。
用 foo = Foo.new( "hi") 取代這樣新建對象的方法 Foo foo = new Foo( "hi" )。
構(gòu)造方法一直都叫“initialize”,不是和class同名的方法。
使用“混入” 代替 “接口”。
YAML 比 XML 更受歡迎。
這里用nil代替null。
==和equals()方法處理方法不同。當(dāng)你想要測試相等性時就使用 == 操作符(就像Java的equals()方法)。當(dāng)要想要知道兩個對象是否是同一個時就使用equal?()方法(就像Java中的==)。
下午無聊翻譯一下,看看ruby官方怎么和java對比
相同點:
類似于java,在ruby中:
內(nèi)存管理都是由GC(garbage collector)負(fù)責(zé)。
都是強(qiáng)類型語言。
都有public,private,protected的方法可見性之分。
都有嵌入式文檔工具(ruby的叫做RDoc)。rdoc生成的文檔看起來非常像由javadoc生成的。
不同:
于java不同的是,在ruby中:
你不必編譯代碼,你只需要直接運行代碼。
Gui開發(fā)包不同。比如,ruby的用戶會嘗試WxRuby,F(xiàn)XRuby,Ruby-GNOME2,或者基于Ruby Tk庫。
你要在定義任何事物(像class)后面加上關(guān)鍵字end,而不是用花括號({})來包圍代碼塊。
使用了require代替了import。
所有的成員變量(屬性)都是private級的。在類外訪問任何事物要通過方法調(diào)用。
什么都是對象,包括2和3.14159。
沒有靜態(tài)類型檢查。
變量名都只是標(biāo)簽,它們沒有與類型相關(guān)。
不用聲明變量類型,你只需要賦值給新的變量名就可以了(例子,a = [1,2,3] 相當(dāng)于 int[] a = {1,2,3};)。
沒有類型強(qiáng)制轉(zhuǎn)換這個概念,只管調(diào)用方法就好了。
用 foo = Foo.new( "hi") 取代這樣新建對象的方法 Foo foo = new Foo( "hi" )。
構(gòu)造方法一直都叫“initialize”,不是和class同名的方法。
使用“混入” 代替 “接口”。
YAML 比 XML 更受歡迎。
這里用nil代替null。
==和equals()方法處理方法不同。當(dāng)你想要測試相等性時就使用 == 操作符(就像Java的equals()方法)。當(dāng)要想要知道兩個對象是否是同一個時就使用equal?()方法(就像Java中的==)。
摘要: 早上看了Ruby論壇中有人(blackanger)寫的TDD by Ex這本書里的資金例子,自己也想寫一寫。和他不同,我是全過程詳細(xì)寫出來。第一次用Ruby寫代碼,第一次用Ruby的Unit框架,而且下午睡醒后迷迷糊糊寫的,可能有很多錯誤,請多多指正。 閱讀全文
在Ubuntu下通過apt包管理器安裝ror環(huán)境是很方便的。我自己寫了一個腳本:
直接把上面的一串保存在一個文本文件中,然后用sh命令執(zhí)行就可以一步安裝完成了。
我發(fā)現(xiàn)網(wǎng)上很多在安裝gem的命令都是錯的,在Ubuntu里gem包不是ruby的gem,ubuntu下gem包的解釋如下:
Graphics Environment for Multimedia - PureData library
Gem is a loadable library for puredata, which adds OpenGL graphics rendering
and animation to Pd.? Pd is a graphical programming language and computer
music system.
這個包和ruby一點關(guān)系都沒有。正確的應(yīng)該是rubygems包。不知道為什么到處有人都是寫sudo?apt-get?install gem的,很多都是轉(zhuǎn)載,有的連轉(zhuǎn)載都不聲明,直接試都不試把錯的東西直接貼出來。
另有人說源里的gem很過時,其實也不會。
sudo apt-get install build-essential gcc g++ libssl0.9.8 libssl0.9.8-dbg libssl-dev build-essential
sudo apt-get install ruby
sudo apt-get install libzlib-ruby rdoc ri irb ruby1.8-dev
sudo apt-get install libzlib-ruby
sudo apt-get install rubygems
sudo gem update --system
sudo gem install rails -y
sudo gem install rails --include-dependencies
sudo gem install mongrel -y
sudo gem install mongrel_cluster --include-dependencies
sudo apt-get install libopenssl-ruby
sudo apt-get install libgd-ruby1.8 libyaml-ruby libzlib-ruby
sudo apt-get install imagemagick
sudo apt-get install libmagick9-dev ruby1.8-dev
sudo gem install RMagick? -y
sudo apt-get install ruby
sudo apt-get install libzlib-ruby rdoc ri irb ruby1.8-dev
sudo apt-get install libzlib-ruby
sudo apt-get install rubygems
sudo gem update --system
sudo gem install rails -y
sudo gem install rails --include-dependencies
sudo gem install mongrel -y
sudo gem install mongrel_cluster --include-dependencies
sudo apt-get install libopenssl-ruby
sudo apt-get install libgd-ruby1.8 libyaml-ruby libzlib-ruby
sudo apt-get install imagemagick
sudo apt-get install libmagick9-dev ruby1.8-dev
sudo gem install RMagick? -y
直接把上面的一串保存在一個文本文件中,然后用sh命令執(zhí)行就可以一步安裝完成了。
我發(fā)現(xiàn)網(wǎng)上很多在安裝gem的命令都是錯的,在Ubuntu里gem包不是ruby的gem,ubuntu下gem包的解釋如下:
Graphics Environment for Multimedia - PureData library
Gem is a loadable library for puredata, which adds OpenGL graphics rendering
and animation to Pd.? Pd is a graphical programming language and computer
music system.
這個包和ruby一點關(guān)系都沒有。正確的應(yīng)該是rubygems包。不知道為什么到處有人都是寫sudo?apt-get?install gem的,很多都是轉(zhuǎn)載,有的連轉(zhuǎn)載都不聲明,直接試都不試把錯的東西直接貼出來。
另有人說源里的gem很過時,其實也不會。