模塊定義: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 (require, include)
文件相關:__FILE__, __LINE__
方法返回:return
別名:alias
局部變量,方法參數和方法名稱應該用一個小寫字母開頭或者用一個下劃線開頭;
全局變量用美元符作為前綴$;
實例變量使用@開頭;
類變量用@@
類名,模塊名和常量應該用大寫字母開頭
Ruby程序代碼現在用7位的ACSII碼來表示,通過語言擴展來支持EUC,SJIS或UTF-8等8位編碼系統。Ruby2.0版本將支持16位的Unicode編碼
puts print gets
printf "Number: %4.3f, String:%s", 7.8, "hi!"
數據類型:數字,字符串,數組,哈希表,區間,正則表達式
1..5 ---> 1,2,3,4,5;
1...5 ---> 1,2,3,4
a=1; b=1.0; a==b #true 比較兩個對象的值是否相等
a=1; b=1.0; a.eql?(b) #false 比較兩個對象的值以及類型是否相等
a=1.0; b=1.0; a.equal?(b) #false 比較兩個對象在內存中的地址是否相同
a=1.0; b=a; a.equal?(b) #true
<=> 比較兩個對象的大小,大于,等于,小于 分別返回1,0,-1
===右邊的對象是否在左邊區間之內,返回true和false
puts (0..9) === 3.14 #true
puts ('a'..'f')==='c' #true
=~用來比較是否符合一個正則表達式,返回模式在字符串中被匹配到的位置,否則返回nil
!~斷言不符合一個正則表達式,返回true,false
break,跳出當層循環
next,忽略本次的循環的剩下部分,開始下一次的循環
redo,重新開始循環,還是從這一次開始
retry,重頭開始這個循環體
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
相當于
def motherland=(value)
return @motherland = value
end
attr_reader:motherland
相當于
def motherland
return @motherland
end
attr_accessor:motherland 相當于 attr_reader:motherland; attr_writer:motherland