不含小數點的數字為整數 (integer) ,含小數點就是浮點數 (floating-point number) ,使用上不必太擔心,常數形式就是物件 (object) ,例如
# 印出 10 個 1.0 10.times { print 1.0 } puts
10 就是個物件,此例為 10 呼叫 times 方法 (method) ,這會重複執行後面大括弧 10 次。 print 亦為輸出內容道電腦螢幕的方法,與 puts 的差別是不會輸出新行字元 '\n' 。
字串 (string) 則是用單引號或雙引號圍起來的內容,兩者的差別是雙引號中還可以用變數 (variable) 與跳脫序列 (escape sequence) ,例如
puts 'Hello world!' # 印出 Hello world! puts 'Hello\tworld!' # 印出 Hello\tworld! puts "Hello\tworld!" # 印出 Hello world! code = "abc" # 變數 code 設定為字串 abc puts "code: #{code}" # 印出 code: abc
跳脫序列是一些不可見字元,由斜線 \ 開始,然後接一些特定的英文字元,常見的有
跳脫序列的字元 | 說明 |
---|---|
\a | 響鈴 |
\b | 倒退鍵 |
\f | 跳頁 |
\n | 印出新列 |
\r | 歸位符號 |
\t | tab 鍵 |
\v | 垂直定位符號 |
\\ | 印出反斜線 |
\? | 印出問號 |
\' | 印出單引號 |
\" | 印出雙引號 |
變數就自己定義的名稱,可以用來儲存某些物件,例如上面用 code 儲存 "abc" 字串物件,而字串中代入變數要用井字號 # 開始,然後接大括弧
puts "code: #{code}" # 印出 code: abc
範圍是一種依序取得具有多個元素的物件,通常用來取得兩個常數之間的值,例如
digits = 0..9 puts digits # 印出 0..9 puts digits.include?(5) # 印出 true puts digits.min # 印出 0 puts digits.max # 印出 9 print digits.reject {|i| i < 5 } # 印出 [5, 6, 7, 8, 9] puts puts str = "can".."cat" puts str.min # 印出 can puts str.max # 印出 cat print str.reject {|i|} # 印出 ["can", "cao", "cap", "caq", "car", "cas", "cat"] puts
digits 取得 0 到 9 之間的連續 10 個數字,同樣的 str 取得 can 到 cat 之間的 7 個字串。
正規運算式為兩個反斜線之間的內容
/something/ # 配對 something /at/ # 配對 at /[a-z]/ # 配對 a 到 z 之間任一字元 /[aeiou]/ # 配對 a 、 e 、 i 、 o 、 u 任一字元
反斜線之間就是配對的文字,除了實際把文字寫出來外,也可用功能字元組合,例如上面用中括弧表示某些字元的集合。下面是常見的功能字元
功能字元 | 說明 |
---|---|
. | 任何單一字元 |
| | 或 |
() | 群組 |
[] | 字元集合 |
{} | 出現次數 |
+ | 至少出現 1 次 |
\ | 表示功能字元 |
^ | 開頭 |
$ | 結尾 |
* | 0 次或多次出現 |
? | 出現 0 次或 1 次 |
\b | 相接文字 |
\B | 沒有相接文字 |
\d | 數字字元 |
\D | 非數字字元 |
\s | 空白字元 |
\S | 非空白字元 |
\w | 文字字元 |
\W | 非文字字元 |
另外有個常數很特別,這個常數就是 nil , nil 什麼都不是,若變數指派到 nil ,這變數就如同空值。
Ruby 依前綴區分變數的種類,有三種不同的變數。接下來,我們來看看變數命名規則吧!
中英文術語對照 | |
---|---|
資料型態 | data type |
數字 | number |
字串 | string |
範圍 | range |
正規運算式 | regular expression |
整數 | integer |
浮點數 | floating-point number |
物件 | object |
方法 | method |
字串 | string |
變數 | variable |
跳脫序列 | escape sequence |
您可以繼續參考
基礎篇
相關目錄
回 Ruby 入門指南
回 Ruby 教材
回首頁
參考資料
http://www.rubyist.net/~slagell/ruby/variables.html
http://www.rubyist.net/~slagell/ruby/strings.html
http://www.rubyist.net/~slagell/ruby/regexp.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_stdtypes.html
沒有留言:
張貼留言