ruby高級學(xué)習(xí)

ruby高級學(xué)習(xí)

ID:38047729

大?。?5.31 KB

頁數(shù):5頁

時間:2019-05-24

ruby高級學(xué)習(xí)_第1頁
ruby高級學(xué)習(xí)_第2頁
ruby高級學(xué)習(xí)_第3頁
ruby高級學(xué)習(xí)_第4頁
ruby高級學(xué)習(xí)_第5頁
資源描述:

《ruby高級學(xué)習(xí)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、RubyonRails學(xué)習(xí)筆記之三--Ruby核心類一、Array1.實(shí)例化1)Array.new2)[值1、值2、值3、值4、值5]3)%w[redgreenbluebalck]自動把字符串列表轉(zhuǎn)成數(shù)組,可以省掉引號及逗號。2.方法1)empty?返回true或false2)size返回大小3)first返回第一個4)last返回最后一個5)delete“元素”刪除3.技巧:查看類幫助輸入命令ri類名例riArray二、Hash:保存鍵值對1.實(shí)例化1)Hash.new2){key=>value,k

2、ey=>value}2.方法1)empty?2)size3)keys:返回所有的key4)values返回所有的value三、String:用單引號或雙引號1.要在字符串里包括引號等特殊符號,需要進(jìn)行轉(zhuǎn)義"2.快捷方式:%Q(字符串)例:%Q(Arniesaid,“I’mback!”)3.在字符串里可以嵌入Ruby表達(dá)式#{表達(dá)式}例:“當(dāng)前時間:#{Time.now}”注意這邊只能是雙引號,單引號會把表達(dá)式原樣輸出4.方法gsub(值1,值2),把字符串里的值1替換成值2include?(值)是否包

3、含slice(0,3)截取四、Numeric:FloatFixnumBignum1.123.integer?是否整數(shù)2.12.3.round四舍五入3.8.zero?是否為04.12.to_f轉(zhuǎn)為Float5.11.3.to_i轉(zhuǎn)為Fixnum五、Symbol符號1.相當(dāng)于字符串,但是沒有任何的方法2.相互轉(zhuǎn)換“fox”.to_sym:fox.to_sRuby動態(tài)追加類定義Ruby是動態(tài)語言,允許隨時更改類定義,如我們在定義一個類時,該類已經(jīng)存在,則此時的定義是對先前類的追加,而不是重新定義.clas

4、sAppledefshowputs"一個蘋果"endenda=Apple.new()a.showclassApple#為Apple類追加一個test方法deftestputs"口感不錯"endenda=Apple.new()a.showa.test使用特殊類定義為某個對像追加方法和變量.class<

5、改已有對象classString#方法擴(kuò)展deftest(*args)yield*args<

6、#->"applealives"#普通參數(shù),和花括號代碼塊同時存在,需要一個括號'a'.test(1,2,3){

7、*x

8、p"callbackresults:#{x}"}#->"callbackresults:[1,2,3,0]"額外的一點(diǎn)是,不能method_missing再調(diào)用一個缺失的方法。像英文一樣書寫代碼#II英文似的方法animals_can_fly=['angrybirds','sillyduck']deflet(animal,&action)action.callanimalenddef

9、fly(&action)yieldenddefkeep(state)p"keep#{state}"endlet'angrybirds'do

10、animal

11、fly{keep"heightat8.88km"}ifanimals_can_fly.include?animalend#->"keepheightat8.88km"Ruby實(shí)實(shí)在在地改變了代碼風(fēng)格!像objective-c一樣處理nil對象的消息classNilClassdefmethod_missing(method,*args,&block)p

12、'sendamessagetonil'endendperson=nilperson.laugh'string'.foo#->"sendamessagetonil"#->"'string'missingfoo:[]"#->"sendamessagetonil"Ruby里面全部都是對象,包括nil。最后一行表明,存在一個向上的方法調(diào)用鏈,String#method_missing->NilClass#method_missing

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。