原文地址
下午無聊翻譯一下,看看ruby官方怎么和java對比
相同點:
類似于java,在ruby中:
內存管理都是由GC(garbage collector)負責。
都是強類型語言。
都有public,private,protected的方法可見性之分。
都有嵌入式文檔工具(ruby的叫做RDoc)。rdoc生成的文檔看起來非常像由javadoc生成的。
不同:
于java不同的是,在ruby中:
你不必編譯代碼,你只需要直接運行代碼。
Gui開發包不同。比如,ruby的用戶會嘗試WxRuby,FXRuby,Ruby-GNOME2,或者基于Ruby Tk庫。
你要在定義任何事物(像class)后面加上關鍵字end,而不是用花括號({})來包圍代碼塊。
使用了require代替了import。
所有的成員變量(屬性)都是private級的。在類外訪問任何事物要通過方法調用。
什么都是對象,包括2和3.14159。
沒有靜態類型檢查。
變量名都只是標簽,它們沒有與類型相關。
不用聲明變量類型,你只需要賦值給新的變量名就可以了(例子,a = [1,2,3] 相當于 int[] a = {1,2,3};)。
沒有類型強制轉換這個概念,只管調用方法就好了。
用 foo = Foo.new( "hi") 取代這樣新建對象的方法 Foo foo = new Foo( "hi" )。
構造方法一直都叫“initialize”,不是和class同名的方法。
使用“混入” 代替 “接口”。
YAML 比 XML 更受歡迎。
這里用nil代替null。
==和equals()方法處理方法不同。當你想要測試相等性時就使用 == 操作符(就像Java的equals()方法)。當要想要知道兩個對象是否是同一個時就使用equal?()方法(就像Java中的==)。
摘要: 早上看了Ruby論壇中有人(blackanger)寫的TDD by Ex這本書里的資金例子,自己也想寫一寫。和他不同,我是全過程詳細寫出來。第一次用Ruby寫代碼,第一次用Ruby的Unit框架,而且下午睡醒后迷迷糊糊寫的,可能有很多錯誤,請多多指正。
閱讀全文