字符串
支持“”‘’在一个双引号括起的字符串内,转义字符会被解析。在一个单引号括起的字符串内,转义字符不会被解析,原样输出。
在字符串中使用#{}数据标签来输出Ruby表达式的值。
还支持使用%Q和%q来引导的字符串:
desc1 = %Q{Ruby 的字符串可以使用 '' 和 ""。}
desc2 = %q|Ruby 的字符串可以使用 '' 和 ""。|
puts desc1 #Ruby 的字符串可以使用 '' 和 ""。
puts desc2 #Ruby 的字符串可以使用 '' 和 ""。
紧跟在%Q和%q之后的就是起始符,可以使用(| [ { 等。这样的好处是可以不使用转义字符
字符串unpack指令?
数组
初始化数组的几种方法:
names = Array.new
names = Array.new(20)
names = Array.new(4, "mac") #["mac", "mac", "mac", "mac"]
nums = Array.new(10) { |e| e = e * 2 } #[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
nums = Array.[](1, 2, 3, 4, 5)
nums = Array[1, 2, 3, 4, 5]
digits = Array(0..9)
数组有对应的pack指令
哈希
哈希就是Key,Value。其中的Key可以是任何对象。
初始化哈希的几种办法:
months = Hash.new
months = Hash.new( "month" ) #这种带默认值的哈希在访问不存在的键的时候会返回默认值。一般的则返回nil
H = Hash["a" => 100, "b" => 200]
months = {"1" => "January", "2" => "February"}
几乎任何对象,甚至是数组 都可以作为键
[1,"jan"] => "January" #数组作为键