3.2 分隔符
关键字、运算符、分隔符一起构成了一门编程语言的基本定义。3.2 、3.3 、3.4节分别对分隔符、关键字、运算符作一些介绍。如果有不详细的地方,将在本书后面部分介绍;或者是因为这些不常用到;还有一种情况是:可以被其它常用语法定义代替。
Ruby中的常用分隔符如下:
符号<o:p></o:p> | 名称<o:p></o:p> | 用途<o:p></o:p> |
;<o:p></o:p> | 分号<o:p></o:p> | 用来分隔一行中的多个语句<o:p></o:p> |
()<o:p></o:p> | 圆括号<o:p></o:p> | 提高优先级;定义方法时容纳参数列表<o:p></o:p> |
<o:p> </o:p> | 空格<o:p></o:p> | 分隔字符;在可省略()的地方,代替()<o:p></o:p> |
,<o:p></o:p> | 逗号<o:p></o:p> | 隔开多个参数<o:p></o:p> |
.<o:p></o:p> | 点<o:p></o:p> | 将对象与它的方法隔开<o:p></o:p> |
::<o:p></o:p> | 紧连的两个冒号<o:p></o:p> |
|
<o:p></o:p>
3.3 关键字
Ruby中的关键字如下:
模块定义:module
类定义: class
方法定义:def , undef
检查类型:defined?
条件语句:if , then , else , elsif ,case ,when ,unless
循环语句:for ,in ,while ,until ,next, break ,do ,
redo ,retry ,yield
逻辑判断:not ,and ,or
逻辑值和空值:true ,false , nil
异常处理:rescue ,ensure
对象引用:super ,self
块的起始:begin/end
嵌入模块:BEGIN ,END
文件相关:__FILE__ , __LINE__
方法返回:return
别名: alias
BEGIN模块相当于C语言中的宏, END模块用来作一些收尾工作。有了require,include,应该取消BEGIN和END的语法定义。
3.4 运算符
优先级
|
能否重写
|
运算符
|
描述
|
最高
|
Y
|
[] []=
|
数组下标
数组元素赋值
|
|
Y
|
**
|
乘冥
|
|
Y
|
!
~ + -
|
非
位非
一元加
负号
|
|
Y
|
* / %
|
乘
除
模
|
|
Y
|
+ -
|
加
减
|
|
Y
|
>> <<
|
右移
左移
|
|
Y
|
&
|
位与
|
|
Y
|
^ |
|
位异或
位或
|
|
Y
|
<= < > >=
|
小于等于
小于
大于
大于等于
|
|
Y
|
<=> == === =~ != !~
|
各种相等判断(
!= !~
不能重写)
|
|
|
&&
|
短路与
|
|
|
||
|
短路或
|
|
|
.. ...
|
区间
的开始点到结束点
|
|
|
? :
|
三元条件运算符
|
|
|
= %= ~= /= -= += |= &= >>= <<= *= &&= ||= **=
|
各种赋值
例如:
a = 5;
b += 3(
意思是:
b = b+3 )
;
|
|
|
defined?
|
检查类型
|
|
|
not
|
逻辑非
|
|
|
or and
|
逻辑或
逻辑与
|
|
|
if unless while until
|
判断与循环
|
最低
|
|
begin/end
|
定义方法、类、模块的范围
|
完整阅读,请看我写的 Ruby语言中文教程all in one