簡單的 Ruby 語法

Ruby 並非像我希望的那樣廣泛使用的語言。以下是足以幫助您閱讀我文章中程式碼的語法。

2003 年 3 月



Ruby 是一種物件導向語言,具有類別和方法。類別使用關鍵字 class 進行宣告,而方法則使用關鍵字 def 進行宣告。所有區塊都以 end 結束。類別中的實例變數以開頭的 @ 命名,而全域變數則以開頭的 $ 命名。您可以使用 attr_accessor 宣告實例變數,以及存取函式。當建立物件時,會呼叫 initialize 方法。

Ruby 最棒的元素之一就是區塊。區塊的一個好範例就是迴圈遍歷集合。在集合中的每個訂單列印兩個等效的語法

orders.each {|o| print o}

orders.each do |o|
  print o
end

區塊也很適合自動釋放資源。考慮

  $dbh.select_all("select * from FOO") do |row|
    print row
  end

execute 方法會建立必要的陳述式和結果集物件,並確保它們在區塊結束時自動關閉。在 Java 和 C# 中使用區塊會很奇怪或不可能,而且是老 Smalltalker 很懷念的事情。($dbh 是資料庫控制代碼 - 縮寫是 dbi 套件的慣用語)

Ruby 的陣列是一個動態清單。您可以使用 [foo, bar] 建立一個文字陣列,並使用 [] 建立一個空陣列。您可以使用 << 將元素新增到陣列中。

Ruby 也有雜湊 (又稱關聯式陣列、字典、雜湊映射)。您可以使用 {} 建立一個空雜湊,並使用 aHash[aKey] 存取元素。

Ruby 允許「此處文件」建立多行字串。您可以使用 sql = <<-END_SQL 開始此類文字區塊。所有在 END_SQL 之後的部分都是字串的一部分。您可以使用 #{anOrder.price} 將動態表達式插入任何字串中。

若要進一步了解 Ruby,我強烈推薦 Andy Hunt 和 Dave Thomas 所寫的 pick axe 書籍。如果您是吝嗇鬼,則可以在 線上取得。Ruby 的首頁 在此


重大修訂

2003 年 3 月