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