1,如果語句太長,可以用“\”鏈接
Ruby代碼
1. p
2. "<<<結束"
結果:行連接開始>>><<<結束
2, ruby中的運算符如下:優(yōu)先級(由高到低)
能否重寫 運算符 描述
Y
Y ** 乘冪
Y !、~、+、- 非、位非、一元加(正號)、負號
Y *、/、% 乘、除、模
Y +、- 加、減
Y >>、<< 右移、左移
Y & 位與
Y ^、| 位異或、位或
Y <=、<、>、>= 小于等于、小于、大于、大于等于
Y <=>、==、!= 各種相等判斷(不能重寫=~、!=、!~)
Y =~、!~ 肯定匹配、否定匹配
Y === 用來比較case語句的目標和每個when從句的項
N && 短路與
N || 短路或
N ..、... 區(qū)間(含尾部元素)、區(qū)間(不含尾部元素)
N ? : 三元條件運算符
N =、%=、~=、/=、-=、+=、|=、&=、>>=、<<=、*=、&&=、||=、**= 各種賦值
N defined? 檢查類型
N not 邏輯非
N or、and 邏輯或、邏輯與
N if、unless、while、until 判斷與循環(huán)
N begin、end 定義方法,類,模塊的范圍
3,Ruby中的常用分隔符如下:
符號 名稱 用途
; 分號 用來分隔一行中的多個語句
() 圓括號 提高優(yōu)先級;定義方法時容納參數列表
, 逗號 隔開多個參數
. 點 將對象與它的方法隔開
:: 雙冒號 域作用符,將模塊(類)與它的常量隔開
4,Ruby中的關鍵字如下:
模塊定義:module
類定義: class
方法定義:def,undef
檢查類型:defined?
條件語句:if,then,else,elsif,case,when,unless
循環(huán)語句: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
5,Ruby中的@%#$等各種千奇百怪的符號
(若標識符首位是小寫字母或“_”,則該標識符就是局部變量或方法調用。)
(以大寫字母([A-Z])開始的標識符是常數、類名或者模塊名)
以@開始的變量是實例變量,它屬于特定的對象??梢栽陬惢蜃宇惖姆椒ㄖ幸脤嵗兞?。
*若引用尚未被初始化的實例變量的話,其值為nil。Ruby的實例變量無須聲明,每個實例變量都是在第一次出現時動態(tài)加入對象。Ruby的實例變量通常在方法中定義類聲明——當在方法里聲明實例變量時,該實例變量實際上屬于該方法所在類的實例,而不是屬于該方法
class Apple
end
# 創(chuàng)建Apple類實例
apple = Apple.new
# 調用方法
apple.info2
apple.info1
以@@開始的變量是類變量。在類的定義中定義類變量,可以在類的特殊方法、實例方法等處對類變量進行引用/賦值:
class Foo
end
*類變量與常數的區(qū)別如下。
可以重復賦值(常數則會發(fā)出警告)
不能在類的外部直接引用(在繼承類中則可以引用/賦值)
*類變量與類的實例變量的區(qū)別如下。
可在子類中引用/賦值
可在實例方法中引用/賦值
以$開始的變量是全局變量,可以在程序的任何地方加以引用(因此需要特別留意)。全局變量無需變量聲明。引用尚未初始化的全局變量時,其值為 nil。
#號:用來調用一個方法
*號:若左邊最后一個表達式前帶*的話,則將右邊多余的元素以數組的形式代入這個帶*的表達式中。若右邊沒有多余元素的話,就把空數組代入其中。
*foo
foo,*bar = 1, 2, 3
*用在方法定義中表示可變長的變量
6,字串格式
\\ 輸出 \ (back-slash)
\' 輸出 ’
\" 輸出 “
\a
\b 刪除前一個字符 “it\b is sunday” =>”i is sunday”
\f 換行并且在緊跟第一行后面輸出
\n 換行
\r 刪除前一個單詞 “it\r is sunday” => “ is sunday”
\t 輸出兩個空格
\v 換行并且在緊跟第一行后面輸出
|
|
來自: CJOL藏經閣 > 《腳本開發(fā)》