Ruby语法学习笔记

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 表示「无」。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值