模塊定義: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
對(duì)象引用:super, self
塊的起始:begin/end
嵌入模塊:BEGIN, END (require, include)
文件相關(guān):__FILE__, __LINE__
方法返回:return
別名:alias
局部變量,方法參數(shù)和方法名稱應(yīng)該用一個(gè)小寫字母開頭或者用一個(gè)下劃線開頭;
全局變量用美元符作為前綴$;
實(shí)例變量使用@開頭;
類變量用@@
類名,模塊名和常量應(yīng)該用大寫字母開頭
Ruby程序代碼現(xiàn)在用7位的ACSII碼來表示,通過語言擴(kuò)展來支持EUC,SJIS或UTF-8等8位編碼系統(tǒng)。Ruby2.0版本將支持16位的Unicode編碼
puts print gets
printf "Number: %4.3f, String:%s", 7.8, "hi!"
數(shù)據(jù)類型:數(shù)字,字符串,數(shù)組,哈希表,區(qū)間,正則表達(dá)式
1..5 ---> 1,2,3,4,5;
1...5 ---> 1,2,3,4
a=1; b=1.0; a==b #true 比較兩個(gè)對(duì)象的值是否相等
a=1; b=1.0; a.eql?(b) #false 比較兩個(gè)對(duì)象的值以及類型是否相等
a=1.0; b=1.0; a.equal?(b) #false 比較兩個(gè)對(duì)象在內(nèi)存中的地址是否相同
a=1.0; b=a; a.equal?(b) #true
<=> 比較兩個(gè)對(duì)象的大小,大于,等于,小于 分別返回1,0,-1
===右邊的對(duì)象是否在左邊區(qū)間之內(nèi),返回true和false
puts (0..9) === 3.14 #true
puts ('a'..'f')==='c' #true
=~用來比較是否符合一個(gè)正則表達(dá)式,返回模式在字符串中被匹配到的位置,否則返回nil
!~斷言不符合一個(gè)正則表達(dá)式,返回true,false
break,跳出當(dāng)層循環(huán)
next,忽略本次的循環(huán)的剩下部分,開始下一次的循環(huán)
redo,重新開始循環(huán),還是從這一次開始
retry,重頭開始這個(gè)循環(huán)體
times,upto,downto,each.step
3.times{print 'Hi'} #HiHiHi
1.upto(9) {|i| print i if i<7} #123456
9.downto(1){|i| print i if i<7} #654321
(1..9).each{|i| print i if i<7} #123456
0.step(11, 3){|i| print i} #0369
異常處理begin/end...rescue...ensure...raise retry可以用在rescue中
attr_writer:motherland
相當(dāng)于
def motherland=(value)
return @motherland = value
end
attr_reader:motherland
相當(dāng)于
def motherland
return @motherland
end
attr_accessor:motherland 相當(dāng)于 attr_reader:motherland; attr_writer:motherland
posted on 2008-04-09 22:05
周銳 閱讀(225)
評(píng)論(0) 編輯 收藏 所屬分類:
Ruby and Rails