ruby和java

相似點 

Ruby與Java一樣的地方,... 

  • 內存透過垃圾回收(Garbage Collection)機制管理。
  • 物件爲強型別(Strongly typed)。
  • 有 public, private, 與 protected 方法。
  • 也有將原始碼轉成文件的工具(Ruby的叫做RDoc),文件以 rdoc 產生的樣子與 javadoc 類似。

相異點

Ruby與Java不同的地方,...

  • 不用編譯程序,直接跑它就行了。
  • 有不同的圖形接口(GUI)工具組,例如可以試試 WxRuby , FXRuby ,Ruby-GNOME2 ,或已經包在Ruby裏的Tk。
  • 以 end 這個關鍵詞作爲定義類別(class)等的結尾,不必用大括號包着程序區塊。
  • 用 require 而不是 import 。
  • 對象的所有成員變量皆爲 private,外界需透過方法(method)來存取。
  • 呼叫方法時,可以省略括號。
  • 所有東西都是對象,包括像 2 與 3.14159 這些數字。
  • 沒有靜態的型別檢查。
  • 變量名稱只是標記,不與型別關聯。
  • 不用宣告型別。只要依需要指定給一個新的變量,事情就”發生”了 (所以不用 int[] a = {1,2,3}; ,僅需 a = [1,2,3] )。
  • 直接呼叫方法,不用轉型。在執行程序前,你的單元測試應該能告訴你是否會有例外(exception)。
  • 寫 foo = Foo.new( "hi") ,而非 Foo foo = new Foo( "hi" ); 。
  • 建構式的名稱固定爲”initialize”,而非與類別同名。
  • 運用 “mixin” 而非接口(interface)。
  • 傾向使用YAML多於XML。
  • 是 nil ,不是 null 。

Ruby處理 == 及 equals() 的方式迥異。要看是否等值,使用 == (Java用equals() )。要知道是否爲同一對象,則使用 equal?() (Java用 == )。

 

這個是我直接拷貝過來的,學習到現在裏面說的很多異同點我還沒有感受,以後再回過頭來看看這些對不對。

發佈了19 篇原創文章 · 獲贊 11 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章