也可以利用具有語法高亮度顯示的文字編輯器,或是整合開發環境 (Integrated Development Environment, IDE) ,如下圖為 Mac 系統的 Xcode
或是使用本站的語法高亮度顯示,此範例程式 demo.rb 如下
# -*- encoding : utf-8 -*- # 建立 Object 物件 o = Object.new # 於命令列印出訊息 puts puts o.to_s puts "↑↑ 上面是 Object 的字串形式" puts puts "程式執行結束 ..." puts =begin 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:demo.rb 功能:示範 Ruby 程式 作者:張凱慶 時間:西元 2012 年 12 月 =end
先看到有特殊顏色標記的 begin 與 end
begin end
begin 與 end 為關鍵字 (keyword) 之一,所謂的關鍵字是語法功能的保留字 (reserved word) ,具有既定特殊的用法,這裡 =begin 與 =end 前面加上等號,表示從 =begin 到 =end 之間為跨行的註解 (comment) ,直譯器 (interpreter) 應該會忽略這部份的內容。
所謂的註解就是在程式中輔助說明的文字,凡是註解文字都不屬於會被程式執行的部份,因此可用自然語言替程式說明,無須恪守 Ruby 的語法規則。
另外井字號開頭的幾行
# -*- encoding : utf-8 -*- # 建立 Object 物件 # 於命令列印出訊息
井字號開頭則是 Ruby 單行註解的方式,屬於 Perl 風格的註解樣式。第一行註解有點特別
# -*- encoding : utf-8 -*-
這是告訴 Ruby 直譯器此原始碼檔案以 utf-8 編碼,這是因為我們裡頭用了中文字元,所以要先做這樣的編碼宣告。若沒有第一行編碼宣告,直譯器會因為中文字元而直接中斷執行。
另外,雙引號為起來的內容則為另一種顏色
"↑↑ 上面是 Object 的字串形式" "程式執行結束 ..."
這是字串字面常數 (string literal) ,所謂的字串 (string) 就是文字資料,其為雙引號或單引號圍起來內容,可以是任何輸入字元。
這個範例很簡單,印出一些訊息到命令列。我們逐行來看看 demo.rb 進行的工作,首先,第 4 行為建立 Object 型態的物件 (object) o
# 建立 Object 物件 o = Object.new
由於 Ruby 是物件導向程式語言 (object-oriented programming language) ,某種程度來說使用 Ruby 寫程式就是設計、規劃物件,然而 Ruby 已經內建一個程式庫 (library) ,很多時候我們都只需要直接利用程式庫中的物件即可。
new 為 Object 類別 (class) 的類別方法 (class method) ,這是說 new 可由類別名稱直接呼叫,而 new 的功能為建立一個新物件,或稱為實體 (instance) ,因為類別是物件的藍圖,所謂的實體就是實際的物件。
至於等號 = 是指派運算子 (assignment operator) ,用來將等號右邊的值 (value) 傳遞給等號左邊的變數 (variable) 。
下面連續用了 6 次 puts
# 於命令列印出訊息 puts puts o.to_s puts "↑↑ 上面是 Object 的字串形式" puts puts "程式執行結束 ..." puts
puts 為內建程式庫中輸出內容到電腦螢幕的方法 (method) ,空一格然後接輸出內容,通常是用字串,這裡
puts o.to_s
o 後面接小數點再接 to_s , to_s 為 Object 類別的實體方法 (instance method) ,要由實體物件才能呼叫,而 to_s 回傳 o 的字串形式,因此這一行 puts 後頭接的是一個字串。
類別可定義類別方法與實體方法,兩者的差別在於類別方法可直接由類別名稱呼叫,而實體方法得由類別用 new 建立的物件呼叫。
如果 puts 後面沒有接任何東西,就會輸出一個 '\n' ,這是一個新行符號,會在命令列印出空白的一行。
字串也是物件,底下雙引號圍起來的字元就是字串的常數形式
puts "↑↑ 上面是 Object 的字串形式"
其實 Ruby 中除了註解、關鍵字、運算子 (operator) 之外,其他統統都是物件。
接下來,我們繼續來看看如何執行 Ruby 程式吧!
中英文術語對照 | |
---|---|
文字編輯器 | text editor |
整合開發環境 | Integrated Development Environment, IDE |
關鍵字 | keyword |
保留字 | reserved word |
註解 | comment |
直譯器 | interpreter |
字串字面常數 | string literal |
字串 | string |
物件 | object |
物件導向程式語言 | object-oriented programming language |
程式庫 | library |
類別 | class |
類別方法 | class method |
實體 | instance |
指派運算子 | assignment operator |
值 | value |
變數 | variable |
方法 | method |
實體方法 | instance method |
運算子 | operator |
您可以繼續參考
基礎篇
相關目錄
回 Ruby 入門指南
回 Ruby 教材
回首頁
參考資料
http://www.rubyist.net/~slagell/ruby/examples.html
http://www.rubyist.net/~slagell/ruby/strings.html
http://www.rubyist.net/~slagell/ruby/variables.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/intro.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_classes.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_stdtypes.html
沒有留言:
張貼留言