版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制定商务谈判方案书(2篇)
- 趣味儿童游戏方案策划(2篇)
- 高速公路养护施工作业安全隐患及对策
- 基于STM32的无人环境视频监控系统设计
- 非中医类别医师学习中医培训方案
- 医师教学查房
- 杭州市拱墅区2023年九年级上学期《数学》期中试题和参考答案
- 浊度和电导自动在线监测仪相关项目投资计划书范本
- 专用刀具及类似器具相关行业投资方案范本
- 稀有金属:钨行业相关投资计划提议范本
- 光伏产业园项目建议书范文
- RFI供应商信息调查问卷
- 农产品增值税进项税额核定扣除政策培训会(PPT-36)
- 安全经验分享-受限空间中毒事故案列
- 站电30电度表校验记录
- 全国营造林综合核查技术规程
- 苏教版二年级下册科学第四单元《做个小温室》教案教学设计
- 海湾9000操作流程图
- 各国手机常用频段划分
- 企业研发活动统计107-1、107-2报表教学提纲
- 2020年四川高考英语试题及答案
评论
0/150
提交评论