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}