ruby語法基礎教程_第1頁
ruby語法基礎教程_第2頁
ruby語法基礎教程_第3頁
ruby語法基礎教程_第4頁
ruby語法基礎教程_第5頁
已閱讀5頁,還剩108頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論