跳至內容

Ruby Programming/Data types

維基教科書,自由的教學讀本

數值

[編輯]
123                       # 整數
-123                      # 有號整號
1_123                     # 整數 (忽略底線)
-543                      # 負整數
123_456_789_123_456_789   # 長整數
123.45                    # 浮點數
1.2e-3                    # 浮點數 (科學記號式)
0xaabb                    # 十六進位整數
0377                      # 八進位整數
-0b1010                   # 二進位補數
0b001_001                 # 二進位整數
?a                        # ASCII 字元 'a' (97) 
?\C-a                     # Control-a (1)
?\M-a                     # Meta-a (225);這是 Macintosh 鍵盤按鍵。
?\M-\C-a                  # Meta-Control-a (129);這是 Macintosh 鍵盤按鍵。

字串

[編輯]

Ruby 可以像數值資料般妥善處理字串。字串是一個被雙引號 ("...") 或單引號 ('...') 括起的內容。

雙引號和單引號在某些案例上具有不同的效果。由雙引號括起的字串允許以反斜線記號 (添加一個引導的反斜線 (\) 在字元前) 轉換該字元之意義,也可以竄寫內容 (以 #{} 嵌入一段賦值的算式)。由單引號括起的字串不做這些解釋工作,除了 \' 和 \\;你將得到你所看到的。例如:

irb> puts "a\nb\nc"
a
b
c
=> nil
irb> puts 'a\nb\n'
a\nb\nc
=> nil
irb> "\n"
=> "\n"
irb> '\n'
=> "\\n"
irb> "\001"
=> "\001"
irb> '\001'
=> "\\001"
irb> "abcd #{5*3} efg"
=> "abcd 15 efg"
irb> var = " abc "
=> " abc "
irb> "1234#{var}5678"
=> "1234 abc 5678"

陣列

[編輯]

陣列是由多個個體所組成的聚合體。你可以用方括號 ([ ]) 建立一個陣列 ,並在其中以逗號分隔列出各個細項。也可用 Array.new 建立一個空白陣列。 Ruby 的陣列可以容納各式各樣的個體。

我們可以用數字作為索引,提取陣列的任何一部份。負號指示自陣列尾端取偏移量而非從陣列開頭。

array_one   = Array.new
array_two   = []              # shorthand for Array.new
array_three = ["a", "b", "c"] # array_three contains "a", "b" and "c"
array_three[0]                # => "a"
array_three[2]                # => "c"
array_three[-2]               # => "b"

雜湊表

[編輯]

有種稱為「關聯索引陣列(associative array)」的特殊陣列,它不是以有序的數字索引提取內容,而是以無序的關鍵字(keys)。這種陣列有時又稱之為雜湊表(hash)字典(dictionary);在 Ruby 的世界中,我們慣用雜湊表一詞。我們可以用一對大括號 ({ }) 括起各對細項 (關鍵字 => 內容) 以建立雜湊表;也可用 Hash.new 建立一個空白雜湊表。在編程時,用雜湊表的時機將比用陣列的時機要多。

hash_one   = Hash.new
hash_two   = {}                             # shorthand for Hash.new
hash_three = {"a" => 1, "b" => 2, "c" => 3} #=> {"a"=>1, "b"=>2, "c"=>3}