没有合适的资源?快使用搜索试试~ 我知道了~
首页ruby初学者教程(对初学者很有帮助)
ruby初学者教程(对初学者很有帮助)

Ruby语言的发明人是日本人松本行弘(Matsumoto Yukihiro),大家亲切的称呼他"Matz"。 可能会出乎大家的意料,Ruby并不是一种近年来才诞生的语言,它的历史可以追溯到1993年,Ruby之父Matz开始对脚本语言感兴趣。在通过一些分析和思考之后,Matz认为脚本语言是可以变得很强大和灵活的,于是他准备把脚本语言作为他的发展方向。 Ruby on Rails 是一个框架,一个使Web 应用的开发、部署和维护变得更容易的框架。自从发布 第一个版本以来,Rails 已经从一个默默无闻的玩具蜕变成了一种世界性的现象。它拿下了一个又一个 的奖项,更重要的是,很多web2.0 应用都选择它作为基础框架。Ra
资源详情
资源评论
资源推荐

Ruby 语言
Grant Ren
hyqryq@gmail.com
2010 年 11 月 24
目 录
Ruby 语言 1
第一部分 Ruby 语言基础 6
第一章 Ruby 语言概述 6
§1.1 Ruby 的历史.....................................................................................................................................................6
§1.2 Ruby 名字的由来.............................................................................................................................................6
§1.3 Ruby 的特点.....................................................................................................................................................6
§1.4 Ruby 和 Python 的比较....................................................................................................................................7
第二章 Ruby 编程环境 7
§2.1 Ruby 的安装.....................................................................................................................................................7
§2.1.1 在 Windows 95/98/Me/XP 上安装 Ruby..............................................................................................7
§2.1.2 在 Linux 上安装 Ruby...........................................................................................................................8
§2.2 运行 Ruby.........................................................................................................................................................8
§2.2.1 使用 Ruby..............................................................................................................................................8
§2.2.2 使用 FreeRIDE 和 SciTE.....................................................................................................................10
§2.2.3 使用 fxri...............................................................................................................................................11
§2.3 Ruby-irb..........................................................................................................................................................12
§2.4 Ruby-ri............................................................................................................................................................13
§2.5 RubyGems.......................................................................................................................................................14
第三章 类与对象 15
§3.1 类的定义.........................................................................................................................................................15
§3.2 对象,属性和方法.........................................................................................................................................16
§3.3 继承.................................................................................................................................................................19
§3.4 特殊方法与特殊类.........................................................................................................................................21
§3.5 类变量与类方法.............................................................................................................................................22
§3.4 存取控制.........................................................................................................................................................23
§3.6 元类.................................................................................................................................................................25
§3.7 Ruby 的动态性...............................................................................................................................................26
§3.8 变量.................................................................................................................................................................27
§3.8.1 局部变量..............................................................................................................................................27
§3.8.2 实例变量..............................................................................................................................................28
§3.8.3 类变量..................................................................................................................................................28
§3.8.4 全局变量..............................................................................................................................................29
§3.8.5 常量......................................................................................................................................................29
§3.8 与定义有关的操作.........................................................................................................................................30

§3.8.1 alias.......................................................................................................................................................30
§3.8.2 undef.....................................................................................................................................................31
§3.8.3 defined?................................................................................................................................................32
第四章 基本类型 35
§4.1 Array................................................................................................................................................................35
§4.2 Hash.................................................................................................................................................................36
§4.3 Number............................................................................................................................................................37
§4.4 String...............................................................................................................................................................38
§4.5 Range...............................................................................................................................................................39
§4.6 Symbol............................................................................................................................................................40
§4.7 正则表达式.....................................................................................................................................................41
第五章 代码块和迭代器 42
§5.1 代码块(Block).................................................................................................................................................42
§5.1.1 什么是代码块......................................................................................................................................42
§5.1.2 代码块与对象......................................................................................................................................42
§5.2 迭代器(Iterator)..............................................................................................................................................44
§5.2.1 什么是迭代器......................................................................................................................................44
§5.2.2 使用迭代器..........................................................................................................................................44
§5.2.3 yield......................................................................................................................................................45
§5.2.4 编写自己的迭代器..............................................................................................................................46
第六章 表达式 47
§6.1 运算符.............................................................................................................................................................47
§6.2 命令替换.........................................................................................................................................................49
§6.3 赋值运算符.....................................................................................................................................................49
§6.4 并行赋值.........................................................................................................................................................51
§6.5 嵌套赋值.........................................................................................................................................................52
§6.6 其他赋值.........................................................................................................................................................52
§6.7 条件运算.........................................................................................................................................................52
§6.8 case 表达式.....................................................................................................................................................54
§6.9 循环.................................................................................................................................................................55
§6.9.1 Loop.....................................................................................................................................................55
§6.9.2 While....................................................................................................................................................56
§6.9.3 Until......................................................................................................................................................56
§6.9.4 Iterator..................................................................................................................................................56
§6.9.5 For..In...................................................................................................................................................57
§6.9.6 Break,Redo,Next............................................................................................................................57
§6.9.7 Retry.....................................................................................................................................................60
第七章 方法 61
§7.1 运算符重定义.........................................................................................................................................63
§7.2 变长参数.................................................................................................................................................63
§7.3 块调用.....................................................................................................................................................64
§7.4 方法返回值.............................................................................................................................................65
第八章 模块 67
§8.1 名字空间.........................................................................................................................................................67
§8.2 mixin................................................................................................................................................................68
§8.3 使用 mixin.......................................................................................................................................................69
§8.3.1 Comparable..........................................................................................................................................69
2

§8.3.2 Enumerable..........................................................................................................................................70
§8.3.3 Singleton..............................................................................................................................................71
§8.4 Require, load 和 include..................................................................................................................................72
第九章 异常 73
§9.1 异常处理.........................................................................................................................................................73
§9.2 定义异常类.....................................................................................................................................................78
§9.3 catch 和 throw.................................................................................................................................................78
第十章 多任务处理 79
§10.1 多线程处理...................................................................................................................................................80
§10.1.1 线程创建............................................................................................................................................80
§10.1.2 线程操作............................................................................................................................................81
§10.1.3 线程和异常........................................................................................................................................82
§10.1.4 线程调度............................................................................................................................................84
§10.1.5 线程同步............................................................................................................................................85
§10.2 多进程处理...................................................................................................................................................92
§10.2.1 进程创建............................................................................................................................................92
第十一章 基本 I/O 操作 93
§11.1 使用 Kernel 模块处理 I/O 操作...................................................................................................................93
§11.2 文件处理.......................................................................................................................................................93
§11.3 StringIO.........................................................................................................................................................94
§11.4 Socket............................................................................................................................................................95
第十二章 反射和对象空间 96
§12.1 ObjectSpace 模块..........................................................................................................................................96
§12.2 察看类和对象的状态...................................................................................................................................98
§12.3 动态方法调用.............................................................................................................................................100
§12.3.1 使用 send 方法.................................................................................................................................100
§12.3.2 使用 Method 类和 UnboundMethod 类..........................................................................................101
§12.3.3 使用 eval 方法.................................................................................................................................102
§12.3.4 性能..................................................................................................................................................103
§12.4 Hook 和回调方法.......................................................................................................................................104
§12.4.1 什么是 Hook....................................................................................................................................104
§12.4.2 Ruby 中的 Hook..............................................................................................................................104
§11.4.2 回调方法..........................................................................................................................................105
§12.5 跟踪程序的运行.........................................................................................................................................106
§12.5.1 set_trace_func..................................................................................................................................106
§12.5.2 trace_var...........................................................................................................................................107
§12.5.3 caller.................................................................................................................................................107
§12.5.3 __FILE__,__LINE__和 SCRIPT_LINES__...................................................................................107
第十三章 序列化和 YAML 108
§13.1 序列化的概念.............................................................................................................................................108
§13.2 使用序列化.................................................................................................................................................108
§13.2.1 二进制数据保存..............................................................................................................................108
§13.2.2 YAML 数据保存..............................................................................................................................109
§13.3 定制序列化.................................................................................................................................................110
§13.3.1 二进制数据保存..............................................................................................................................110
§13.3.2 YAML 数据保存..............................................................................................................................111
§13.3 YAML..........................................................................................................................................................112
3

§13.3.1 集合类型..........................................................................................................................................113
§13.3.2 单行集合类型..................................................................................................................................116
§13.3.3 基本类型..........................................................................................................................................116
§13.3.4 块......................................................................................................................................................116
§13.3.5 别名和锚(Aliases and Anchors).................................................................................................116
§13.3.6 文档..................................................................................................................................................116
§13.3.7 Ruby 中 YAML 的使用...................................................................................................................117
第十四章 安全控制 118
§14.1 0 级..............................................................................................................................................................118
§14.1 1 级..............................................................................................................................................................119
§14.2 2 级..............................................................................................................................................................119
§14.3 3 级..............................................................................................................................................................119
§14.4 4 级..............................................................................................................................................................119
第十五章 单元测试 119
§15.1 什么是单元测试.........................................................................................................................................119
§15.2 Ruby 单元测试框架...................................................................................................................................119
第二部分 内置类与模块 119
第一章 内置类 120
§1.1 Array..............................................................................................................................................................120
§1.2 Bignum..........................................................................................................................................................120
§1.3 Binding..........................................................................................................................................................120
§1.4 Class..............................................................................................................................................................120
§1.5 Continuation..................................................................................................................................................120
§1.6 Dir..................................................................................................................................................................122
§1.7 Exception.......................................................................................................................................................122
§1.8 FalseClass......................................................................................................................................................122
§1.9 File.................................................................................................................................................................122
§1.10 File::Stat......................................................................................................................................................122
§1.11 Fixnum.........................................................................................................................................................122
§1.12 Float.............................................................................................................................................................122
§1.13 Hash.............................................................................................................................................................122
§1.14 Integer..........................................................................................................................................................122
§1.15 IO.................................................................................................................................................................122
§1.16 MatchData...................................................................................................................................................122
§1.17 Method........................................................................................................................................................122
§1.18 Module........................................................................................................................................................122
§1.19 NilClass.......................................................................................................................................................122
§1.20 Numeric.......................................................................................................................................................122
§1.21 Object..........................................................................................................................................................122
§1.22 Proc..............................................................................................................................................................123
§1.23 Process::Status.............................................................................................................................................123
§1.24 Range...........................................................................................................................................................123
§1.25 Regexp.........................................................................................................................................................123
§1.26 String...........................................................................................................................................................123
§1.27 Struct...........................................................................................................................................................123
§1.28 Struct::Tms..................................................................................................................................................123
§1.29 Symbol........................................................................................................................................................123
4

§1.30 Thread..........................................................................................................................................................123
§1.31 ThreadGroup...............................................................................................................................................123
§1.32 Time.............................................................................................................................................................123
§1.33 TrueClass.....................................................................................................................................................123
§1.34 UnboundMethod.........................................................................................................................................123
第二章 内置模块 124
§2.1 Comparable...................................................................................................................................................124
§2.2 Enumerable...................................................................................................................................................124
§2.3 Error..............................................................................................................................................................124
§2.4 FileTest..........................................................................................................................................................124
§2.5 GC.................................................................................................................................................................124
§2.6 Kernel............................................................................................................................................................124
§2.7 Marshal..........................................................................................................................................................124
§2.8 Math..............................................................................................................................................................124
§2.9 ObjectSpace...................................................................................................................................................124
§2.10 Process.........................................................................................................................................................124
§2.11 Process:: GID........................................................................................................................................124
§2.12 Process:: Sys.........................................................................................................................................124
§2.13 Process:: UID.......................................................................................................................................124
§2.14 Signal...........................................................................................................................................................124
第三部分 Ruby 语言总结 125
附录 129
§1 术语对照..........................................................................................................................................................129
5
剩余63页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论3