1.控制码
单引号 '' 中间的字符串,除 //(/ 符号本身)和 /'(单引号)外不能使用任何的控制码。这在打算原样显示文字本身的情况下使用会十分方便。
print 'RPG Maker XP/n' # => RPG Maker XP/n
2.内嵌表达式
在字符串里面,可以用 #{变量名} 的形式把变量的内容嵌入在字符串当中。
game = "RPG"
print "#{game} Maker XP" # => RPG Maker XP
print("文件 " + filename + " 没找到。")
像这样写也可以,使用内嵌表达式的方法会使读取程序变得很容易。
另外内嵌表达式和控制码一样,在单引号 '' 中间的字符串里使用也会无效。
3.unless ~ end
与 if 相反,在条件不满足时才进行某些处理的情况下使用 unless 语句。
a = 7 # 为变量 a 赋值代入 7。
unless a >= 10 # 如果 a 不为 10 以上的话,
print "small" # 显示 small。
end # 分歧结束。
4.case ~ end
在条件为特定的变量值进行分歧的情况下使用 case 语句会更方便。
a = 0 # 为变量 a 赋值代入 0。
case a # 分歧开始。
when 0 # 当 a 为 0 时,
print "零" # 显示 零。
when 1 # 当 a 为 1 时,
print "壹" # 显示 壹。
when 2 # 当 a 为 2 时,
print "贰" # 显示 贰。
end # 分歧结束。
5.变化范围
数值的范围,例如类似于「从 1 到 5」这样的概念就称为变化范围。
1..5
上述示例表示「从 1 到 5」的意思。使用 .. 运算符,就能作成一个变化范围。
而且,使用 ... 运算符也可以。
1...5
和 .. 不同的是「不含最后一个数」。所以,这种情况实际上表示的是「从 1 到 4」的意思。
6.函数的重定义
下面的示例中,hello 名称的函数被重复定义了 2 回。
def hello
return "您好"
end
def hello
return "晚安"
end
p hello # => "晚安"
在 Ruby 中,函数名称重复的话不会出现错误。这种情况下系统会认定后面定义的函数有效,而先前的定义就无效了。
7.顺便说一下,全角的 1 个字符等于 3 个字节。在中国使用的是 gb2312 文字编码其 1 个全角字符等于 2 个字节,而 RGSS 使用的是 UTF-8 文字编码
8.数组
数组中除了字符串外还可以包含其它任意的对象。
a = [2000,"艾力克斯",true,1..50]
建立数组时只有 3 个单元,现在为在其范围外的 a[3] 赋值,就会自动添加第 4 个单元扩大数组。C 语言等其它语言是不充许这样赋值的,而 Ruby 这种灵活的语言就可以放心添加。
如果跳过范围的话会如何呢?
a = [10, 20, 30]
a[5] = 60
p a # => [10, 20, 30, nil, nil, 60]
中间就会出现 nil 值。这个与 true 和 false 等一样是常量的一种,意思是「什么都没有」。和 true 表示「真」,false 表示「伪」一样,nil 表示「无」。