




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Ruby語言
GrantRen
hyqryq@gmail.com
2006年11月24日
1/.__1—
刖B
目錄
Ruby語言.........................................................................1
GrantRen..................................................................................................................................................1
第一部分Ruby語言基礎..........................................................8
第一章Ruby語言概述.............................................................8
§1.1Ruby的歷史...........................................................................8
§1.2Ruby名字的由來.......................................................................8
§1.3Ruby的特點...........................................................................8
§1.4Ruby和Python的比較...................................................................9
第二章Ruby編程環境.............................................................9
§2.1Ruby的安裝...........................................................................9
§2.1.1在Windows95/98/Me/XP上安裝Ruby.............................................................................................9
§2.1.2在Linux上安裝Ruby.......................................................................................................................10
§2.2運行Ruby.........................................................................................................................................................10
§2.2.1使用Ruby..............................................................................................................................................10
§2.2.2使用FreeRIDE和SciTE.....................................................................................................................12
§2.2.3使用fxri.................................................................................................................................................13
§2.3Ruby-irb.............................................................................................................................................................14
§2.4Ruby-ri...............................................................................................................................................................15
§2.5RubyGems........................................................................................................................................................16
第三章類與對象................................................................17
§3.1類的定義.............................................................................17
§3.2對象,屬性和方法.....................................................................18
§3.3繼承.................................................................................20
§3.4特殊方法與特殊類....................................................................21
§3.5類變量與類方法......................................................................23
§3.4存取控制.............................................................................23
§3.6元類.................................................................................25
§3.7Ruby的動態性........................................................................26
§3.8變量.................................................................................27
§3.8.1局部變量.......................................................................27
§3.8.2實例變量.......................................................................27
§3.8.3類變量.........................................................................28
§3.8.4全局變量.......................................................................28
§3.8.5常量...........................................................................28
§3.8與定義有關的操作....................................................................29
§3.8.1alias........................................................................................................................................................29
§3.8.2undef.......................................................................................................................................................30
§3.8.3defined?..................................................................................................................................................31
第四章基本類型.................................................................34
§4.1Array.................................................................................................................................................................34
§4.2Hash..................................................................................................................................................................35
§4.3Number.............................................................................................................................................................35
§4.4String.................................................................................................................................................................36
§4.5Range.................................................................................................................................................................37
§4.6Symbol...............................................................................................................................................................38
§4.7正則表達式...........................................................................39
第五章代碼塊和迭代器..........................................................40
§5.1代碼塊(Block)..................................................................................................................................................40
§5.1.1什么是代碼塊...................................................................40
§5.1.2代碼塊與對象...................................................................40
§5.2迭代器(Iterator)................................................................................................................................................41
§5.2.1什么是迭代器...................................................................41
§5.2.2使用迭代器.....................................................................42
§5.2.3yield........................................................................................................................................................42
§5.2.4編寫自己的迭代器................................................................43
第六章表達式...................................................................44
§6.1運算符...............................................................................44
§6.2命令替換.............................................................................45
§6.3賦值運算符...........................................................................46
§6.4并行賦值.............................................................................47
§6.5嵌套賦值.............................................................................48
§6.6其他賦值.............................................................................48
§6.7條件運算.............................................................................48
§6.8case表達式...........................................................................50
§6.9循環.................................................................................51
§6.9.1Loop.........................................................................................................................................................51
§6.9.2While......................................................................................................................................................51
§6.9.3Until........................................................................................................................................................51
§6.9.4Iterator.....................................................................................................................................................51
§6.9.5For..In......................................................................................................................................................52
§6.9.6Break,Redo,Next.............................................................................................................................52
§6.9.7Retry........................................................................................................................................................54
第七章方法.....................................................................55
§7.1運算符重定義....................................................................57
§7.2變長參數........................................................................57
§7.3塊調用...........................................................................58
§7.4方法返回值......................................................................59
第八章模塊.....................................................................60
§8.1名字空間.............................................................................60
§8.2mixin..................................................................................................................................................................60
§8.3使用mixin.........................................................................................................................................................61
§8.3.1Comparable.............................................................................................................................................61
§8.3.2Enumerable............................................................................................................................................62
§8.3.3Singleton.................................................................................................................................................63
§8.4Require,load和include...................................................................................................................................64
第九章異常....................................................................65
§9.1異常處理.............................................................................65
§9.2定義異常類...........................................................................69
§9.3catch和throw...................................................................................................................................................69
第十章多任務處理.............................................................70
§10.1多線程處理.........................................................................70
§10.1.1線程創建......................................................................70
§10.1.2線程操作......................................................................71
§10.1.3線程和異常....................................................................72
§10.1.4線程調度......................................................................75
§10.1.5線程同步......................................................................75
§10.2多進程處理..........................................................................81
§10.2.1進程創建......................................................................81
第H-一章基本I/O操作.........................................................82
§11.1使用Kernel模塊處理I/O操作..........................................................82
§11.2文件處理.............................................................................82
§11.3StringlO............................................................................................83
§11.4Socket.............................................................................................84
第十二章反射和對象空間........................................................84
§12.1ObjectSpace模塊.....................................................................84
§12.2察看類和對象的狀態..................................................................86
§12.3動態方法調用........................................................................88
§12.3.1使用send方法.................................................................88
§12.3.2使用Method類和UnboundMethod類..............................................88
§12.3.3使用eval方法..................................................................90
§12.3.4性能..........................................................................90
§12.4Hook和回調方法.....................................................................91
§12.4.1什么是Hook...............................................................................91
§12.4.2Ruby中的Hook............................................................................91
§11.4.2回調方法.......................................................................92
§12.5跟蹤程序的運行......................................................................92
§12.5.1set_trace_func........................................................................92
§12.5.2trace_var...........................................................................93
§12.5.3caller.......................................................................................93
§12.5.3_FILE_,_LINE_和SCRIPT_LINES_.................................................94
第十三章序列化和YAML...................................................................94
§13.1序列化的概念........................................................................94
§13.2使用序列化..........................................................................95
§13.2.1二進制數據保存................................................................95
§13.2.2YAML數據保存................................................................95
§13.3定制序列化..........................................................................96
§13.3.1二進制數據保存................................................................96
§13.3.2YAML數據保存................................................................97
§13.3YAML.............................................................................................98
§13.3.1集合類型......................................................................98
§13.3.2單行集合類型.................................................................101
§13.3.3基本類型.....................................................................101
§13.3.4塊............................................................................101
§13.3.5別名和錨(AliasesandAnchors).........................................................101
§13.3.6文檔.........................................................................101
§13.3.7Ruby中YAML的使用..........................................................101
第十四章安全控制..............................................................102
§14.10級................................................................................103
§14.11級.................................................................................103
§14.22級................................................................................103
§14.33級................................................................................103
§14.44級................................................................................103
第十五章單元測試..............................................................104
§15.1什么是單元測試.....................................................................104
§15.2Ruby單元測試框架..................................................................104
第二部分內置類與模塊.........................................................104
第一章內置類..................................................................104
§1.1Array.................................................................................................................................................................104
§1.2Bignum.............................................................................................................................................................104
§1.3Binding.............................................................................................................................................................104
§1.4Class..................................................................................................................................................................104
§1.5Continuation..................................................................................................................................................104
§1.6Dir.....................................................................................................................................................................106
§1.7Exception.........................................................................................................................................................106
§1.8FalseClass........................................................................................................................................................106
§1.9File....................................................................................................................................................................106
§1.10File::Stat.........................................................................................................................................................106
§1.11Fixnum............................................................................................................................................................106
§1.12Hoat................................................................................................................................................................106
§1.13Hash................................................................................................................................................................106
§1.14Integer.............................................................................................................................................................106
§1.1510....................................................................................................................................................................106
§1.16MatchData......................................................................................................................................................106
§1.17Method............................................................................................................................................................106
§1.18Module............................................................................................................................................................106
§1.19NilClass...........................................................................................................................................................106
§1.20Numeric.........................................................................................................................................................106
§1.21Object..............................................................................................................................................................107
§1.22Proc.................................................................................................................................................................107
§1.23Process::Status............................................................................................................................................107
§1.24Range..............................................................................................................................................................107
§1.25Regexp............................................................................................................................................................107
§1.26String...............................................................................................................................................................107
§1.27Struct...............................................................................................................................................................107
§1.28Struct::Tms.....................................................................................................................................................107
§1.29Symbol...........................................................................................................................................................107
§1.30Thread............................................................................................................................................................107
§1.31ThreadGroup..................................................................................................................................................107
§1.32Time................................................................................................................................................................107
§1.33TrueClass.......................................................................................................................................................107
§1.34UnboundMethod............................................................................................................................................107
第二章內置模塊108
§2.1Comparable......................................................................................................................................................108
§2.2Enumerable......................................................................................................................................................108
§2.3Error..................................................................................................................................................................108
§2.4FileTest..............................................................................................................................................................108
§2.5GC.....................................................................................................................................................................108
§2.6Kernel...............................................................................................................................................................108
§2.7Marshal.............................................................................................................................................................108
§2.8Math..................................................................................................................................................................108
§2.9ObjectSpace.....................................................................................................................................................108
§2.10Process...........................................................................................................................................................108
§2.11Process::GID...............................................................................................................................................108
§2.12Process::Sys.................................................................................................................................................108
§2.13Process::UID................................................................................................................................................108
§2.14Signal..............................................................................................................................................................108
第三部分Ruby語言總結........................................................109
附錄112
§1術語對照..............................................................................112
第一部分Ruby語言基礎
第一章Ruby語言概述
§1.1Ruby的歷史
Ruby語言的發明人是日本人松本行弘(MatsumotoYukihiro),大家親切的稱呼他"Matz"。
可能會出乎大家的意料,Ruby并不是一種近年來才誕生的語言,它的歷史可以追溯到1993年,Ruby之父
Matz開始對腳本語言感興趣。在通過一些分析和思考之后,Matz認為腳本語言是可以變得很強大和靈活的,
于是他準備把腳本語言作為他的發展方向。和很多人一樣,Matz是一個面向對象程序設計的fans,自然而
然他想研究一種支持面向對象程序設計的腳本語言。隨后的一段時間,他到網絡上搜集了一些相關的資料,
并且發現了Perl5,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農作物種子育種方法試題及答案
- 深度備考模具設計師資格考試試題及答案
- 2024年裁判員考試國際規則試題及答案
- 模具設計的市場需求及趨勢試題及答案
- 2024年模具設計師資格認證考試視頻學習的實效性試題及答案
- 深入了解農業植保員考試趨勢與策略試題及答案
- 浴池隔墻施工方案
- 學會2024年籃球裁判員考試的應對策略與試題與答案
- 農業植保員考試知識框架理清試題及答案
- 增強市場競爭力的戰略工作安排計劃
- XX鎮衛生院綜治信訪維穩工作方案
- 2023年河南單招語文模擬試題
- GB/T 24894-2025動植物油脂甘三酯分子2-位脂肪酸組分的測定
- 2025-2030中國北京市寫字樓租售行業市場發展現狀及發展前景預測報告
- 2024南寧青秀區中小學教師招聘考試試題及答案
- 乙型肝炎病人的健康教育
- 《道路運輸企業和城市客運企業安全生產重大事故隱患判定標準(試行)》知識培訓
- 解讀《學前教育法》制定全文課件
- 2025年公路工程預制箱梁運輸安裝合同
- DB31∕T 1243-2020 互花米草生態控制技術規范
- 經濟效益評價的基本方法課件
評論
0/150
提交評論