书籍详情

Ruby基础教程(第5版)

Ruby基础教程(第5版)

作者:(日)高桥征义 后藤裕藏 著,何文斯 译

出版社:人民邮电出版社

出版时间:2017-08-01

ISBN:9787115462947

定价:¥79.00

购买这本书可以去
内容简介
  《Ruby基础教程(第5版)》由Ruby之父松本行弘亲自审校并作序推荐。本书支持Ruby2.3,通俗易懂地讲解了编程时所需要的变量、常量、方法、类、流程控制等的语法,以及主要类的使用方法和简单的应用,让没有编程经验的读者也能轻松掌握Ruby,并灵活应用到实际工作中。 本书适合Ruby初学者阅读,也适合有一定基础的读者随时查阅参考。
作者简介
  高桥征义(作者) 日本Ruby协会创始人兼会长。日本知名的IT电子书出版平台达人出版会董事长。著有《Ruby基础教程》《Rails3绝技190招》等。喜欢的作家是新井素子。 后藤裕藏(作者) 株式会社网络应用通信研究所(NaCl)董事。执笔有关Ruby的杂志文章,也是Ruby标准库webrick和openssl的维护者。喜欢平克?弗洛伊德乐队。 松本行弘(审校) 昵称“Matz”,Ruby语言发明者。著有《松本行弘的程序世界》《代码的未来》等。讨厌东京,喜欢温泉。 何文斯(译者) 上海交通大学电子工程系研究生毕业,现就职于某国际独立软件开发商,从事软件售后支持工作。对面向对象的程序设计,脚本语言及其在语音、图像等信号处理中的应用有着浓厚的兴趣。
目录

第1部分 Ruby初体验

第1章 Ruby初探 2

1.1 Ruby的运行方法 3

1.1.1 ruby命令的执行方法 3

1.1.2 irb命令的执行方法 4

1.2 程序解说 5

1.2.1 对象 5

1.2.2 方法 5

1.3 字符串 6

1.3.1 换行符与\ 6

1.3.2 ' '与" " 7

1.4 方法的调用 7

1.5 puts方法 8

1.6 p方法 8

1.7 中文的输出 9

1.8 数值表示与计算 11

1.8.1 数值 11

1.8.2 四则运算 11

1.8.3 数学相关的函数 12

1.9 变量 13

1.10 注释 14

1.11 控制语句 15

1.12 条件判断:if~then~end 16

1.13 循环 18

1.13.1 while语句 18

1.13.2 times方法 18

第2章 便利的对象 19

2.1 数组 20

2.1.1 数组的创建 20

2.1.2 数组对象 20

2.1.3 从数组中抽取对象 20

2.1.4 将对象保存到数组中 21

2.1.5 数组的元素 22

2.1.6 数组的大小 22

2.1.7 数组的循环 23

2.2 散列 24

2.2.1 什么是符号 24

2.2.2 散列的创建 25

2.2.3 散列的使用 25

2.2.4 散列的循环 26

2.3 正则表达式 26

第3章 创建命令 29

3.1 命令行的输入数据 29

3.2 文件的读取 30

3.2.1 从文件中读取内容并输出 31

3.2.2 从文件中逐行读取内容并输出 32

3.2.3 从文件中读取指定模式的内容

    并输出 33

3.3 方法的定义 34

3.4 其他文件的引用 34

第2部分 Ruby的基础

第4章 对象、变量和常量 38

4.1 对象 38

4.2 类 39

4.3 变量 39

4.4 常量 42

4.5 保留字 42

4.6 多重赋值 43

4.6.1 合并执行多个赋值操作 43

4.6.2 交换变量的值 43

4.6.3 获取数组的元素 44

第5章 条件判断 45

5.1 什么是条件判断 45

5.2 Ruby中的条件 46

5.3 逻辑运算符 47

5.4 if语句 48

5.5 unless语句 49

5.6 case语句 50

5.7 if修饰符与unless修饰符 53

5.8 总结 53

第6章 循环 56

6.1 循环的基础 56

6.2 循环时的注意事项 57

6.3 实现循环的方法 57

6.4 times方法 57

6.5 for语句 59

6.6 普通的for语句 61

6.7 while语句 61

6.8 until语句 63

6.9 each方法 64

6.10 loop方法 65

6.11 循环控制 65

6.11.1 break 66

6.11.2 next 67

6.12 小结 69

第7章 方法 71

7.1 方法的调用 71

7.1.1 简单的方法调用 71

7.1.2 带块的方法调用 72

7.1.3 运算符形式的方法调用 72

7.2 方法的分类 73

7.2.1 实例方法 73

7.2.2 类方法 74

7.2.3 函数式方法 74

7.3 方法的定义 75

7.3.1 方法的返回值 76

7.3.2 定义带块的方法 77

7.3.3 参数个数不确定的方法 78

7.3.4 关键字参数 79

7.3.5 关于方法调用的一些补充 81

第8章 类和模块 85

8.1 类是什么 85

8.1.1 类和实例 85

8.1.2 继承 87

8.2 创建类 88

8.2.1 class语句 89

8.2.2 initialize方法 89

8.2.3 实例变量与实例方法 90

8.2.4 存取器 91

8.2.5 特殊变量self 92

8.2.6 类方法 93

8.2.7 常量 94

8.2.8 类变量 94

8.2.9 限制方法的调用 95

8.3 扩展类 97

8.3.1 在原有类的基础上添加方法 97

8.3.2 继承 97

8.4 alias与undef 99

8.4.1 alias 99

8.4.2 undef 100

8.5 单例类 100

8.6 模块是什么 101

8.7 模块的使用方法 101

8.7.1 利用Mix-in扩展功能 101

8.7.2 提供命名空间 102

8.8 创建模块 102

8.8.1 常量 103

8.8.2 方法的定义 103

8.9 Mix-in 104

8.9.1 查找方法的规则 105

8.9.2 extend方法 107

8.9.3 类与Mix-in 108

8.10 面向对象程序设计 109

8.10.1 对象是什么 109

8.10.2 面向对象的特征 110

8.10.3 鸭子类型 111

8.10.4 面向对象的例子 112

第9章 运算符 115

9.1 赋值运算符 115

9.2 逻辑运算符的应用 116

9.3 条件运算符 118

9.4 范围运算符 118

9.5 运算符的优先级 119

9.6 定义运算符 120

9.6.1 二元运算符 120

9.6.2 一元运算符 122

9.6.3 下标方法 123

第10章 错误处理与异常 124

10.1 关于错误处理 124

10.2 异常处理 125

10.3 异常处理的写法 126

10.4 后处理 129

10.5 重试 129

10.6 rescue修饰符 130

10.7 异常处理语法的补充 130

10.8 指定需要捕捉的异常 131

10.9 异常类 132

10.10 主动抛出异常 133

第11章 块 136

11.1 块是什么 136

11.2 块的使用方法 137

11.2.1 循环 137

11.2.2 隐藏常规处理 138

11.2.3 替换部分算法 139

11.3 定义带块的方法 142

11.3.1 执行块 142

11.3.2 传递块参数,获取块的值 142

11.3.3 控制块的执行 144

11.3.4 将块封装为对象 145

11.4 局部变量与块变量 146

第3部分 Ruby的类

第12章 数值类 152

12.1 数值类的构成 152

12.2 数值的字面量 154

12.3 算数运算 155

12.4 Math模块 157

12.5 数值类型转换 158

12.6 位运算 159

12.7 随机数 161

12.8 计数 163

12.9 近似值误差 164

第13章 数组类 167

13.1 复习数组 168

13.2 数组的创建方法 168

13.2.1 使用Array.new 168

13.2.2 使用%w与%i 169

13.2.3 使用to_a方法 169

13.2.4 使用字符串的split方法 169

13.3 索引的使用方法 170

13.3.1 获取元素 170

13.3.2 替换元素 172

13.3.3 插入元素 173

13.3.4 通过多个索引创建数组 174

13.4 作为集合的数组 174

13.4.1 集合的运算 175

13.4.2 “|”与“+”的不同点 176

13.5 作为列的数组 176

13.6 主要的数组方法 178

13.6.1 为数组添加元素 178

13.6.2 从数组中删除元素 180

13.6.3 替换数组元素 182

13.7 数组与迭代器 184

13.8 处理数组中的元素 184

13.8.1 使用循环与索引 184

13.8.2 使用each方法逐个获取元素 185

13.8.3 使用具有破坏性的方法实现循环 185

13.8.4 使用其他迭代器 185

13.8.5 创建专用的迭代器 186

13.9 数组的元素 186

13.9.1 使用简单的矩阵 186

13.9.2 初始化时的注意事项 186

13.10 同时访问多个数组 188

第14章 字符串类 191

14.1 字符串的创建 192

14.1.1 使用%Q与%q 193

14.1.2 使用Here Document 193

14.1.3 使用sprintf方法 194

14.1.4 使用` ` 194

14.2 获取字符串的长度 196

14.3 字符串的索引 197

14.4 字符串的连接 197

14.5 字符串的比较 198

14.6 字符串的分割 200

14.7 换行符的使用方法 201

14.8 字符串的检索与替换 202

14.8.1 字符串的检索 202

14.8.2 字符串的替换 203

14.9 字符串与数组的共同方法 203

14.9.1 与索引操作相关的方法 203

14.9.2 返回Enumerator对象的方法 204

14.9.3 与连接、反转(reverse)相关的

方法 205

14.10 其他方法 206

14.11 日语字符编码的转换 207

14.11.1 encode方法 207

14.11.2 nkf库 208

第15章 散列类 211

15.1 复习散列 211

15.2 散列的创建 212

15.2.1 使用{} 212

15.2.2 使用Hash.new 212

15.3 值的获取与设定 213

15.3.1 一次性获取所有的键、值 214

15.3.2 散列的默认值 214

15.4 查看指定对象是否为散列的键或值 215

15.5 查看散列的大小 216

15.6 删除键值 216

15.7 初始化散列 217

15.8 合并两个散列 219

15.9 应用示例:计算单词数量 219

第16章 正则表达式类 223

16.1 关于正则表达式 223

16.1.1 正则表达式的写法与用法 223

16.1.2 正则表达式对象的创建方法 224

16.2 正则表达式的模式与匹配 224

16.2.1 匹配普通字符 225

16.2.2 匹配行首与行尾 225

16.2.3 指定匹配字符的范围 226

16.2.4 匹配任意字符 228

16.2.5 使用反斜杠的模式 229

16.2.6 重复 230

16.2.7 最短匹配 232

16.2.8 ()与重复 233

16.2.9 选择 233

16.3 使用quote方法的正则表达式 234

16.4 正则表达式的选项 234

16.5 捕获 235

16.6 使用正则表达式的方法 236

16.6.1 sub方法与gsub方法 236

16.6.2 scan方法 237

16.7 正则表达式的例子 238

第17章 IO类 241

17.1 输入/输出的种类 241

17.1.1 标准输入/输出 241

17.1.2 文件输入/输出 243

17.2 基本的输入/输出操作 245

17.2.1 输入操作 246

17.2.2 输出操作 248

17.3 文件指针 249

17.4 二进制模式与文本模式 250

17.5 缓冲 251

17.6 与命令进行交互 254

17.7 open-uri库 255

17.8 stringio库 255

第18章 File类与Dir类 258

18.1 File类 258

18.1.1 变更文件名 259

18.1.2 复制文件 259

18.1.3 删除文件 260

18.2 目录的操作 260

18.2.1 目录内容的读取 261

18.2.2 目录的创建与删除 264

18.3 文件与目录的属性 265

18.4 文件名的操作 268

18.5 与文件操作相关的库 270

18.5.1 find库 270

18.5.2 tempfile库 271

18.5.3 fileutils库 271

第19章 Encoding类 274

19.1 Ruby的编码与字符串 274

19.2 脚本编码与魔法注释 275

19.3 Encoding类 276

19.4 正则表达式与编码 280

19.5 IO类与编码 280

19.5.1 外部编码与内部编码 280

19.5.2 编码的设定 281

19.5.3 编码的作用 281

第20章 Time类与Date类 284

20.1 Time类与Date类 284

20.2 获取时间 285

20.3 计算时间 286

20.4 时间的格式 286

20.5 本地时间 288

20.6 从字符串中获取时间 288

20.7 获取日期 289

20.8 计算日期 290

20.9 日期的格式 291

20.10 从字符串中获取日期 291

20.11 Time与Date的互相转换 292

第21章 Proc类 294

21.1 Proc类是什么 294

21.1.1 lambda表达式 295

21.1.2 通过Proc参数接收块 297

21.1.3 to_proc方法 298

21.2 Proc的特征 298

21.3 Proc类的实例方法 299

第4部分 动手制作工具

第22章 文本处理 304

22.1 准备文本 304

22.1.1 下载文件 304

22.1.2 获取正文 305

22.1.3 删除标签 306

22.2 扩展simple_grep.rb:显示次数 308

22.3 扩展simple_grep.rb:显示匹配的部分 309

22.3.1 突出匹配到的位置 310

22.3.2 显示前后各10个字符 310

22.3.3 让前后的字符数可变更 312

第23章 检索邮政编码 313

23.1 获取邮政编码 313

23.2 csv库 314

23.3 sqlite3库 315

23.4 插入数据 317

23.5 检索数据 319

23.6 小结 320

附录

附录A 搭建Ruby运行环境 322

A.1 安装Ruby 322

A.2 在Windows下安装 322

A.2.1 开始安装 323

A.2.2 同意软件使用许可协议 323

A.2.3 确认安装路径以及选项 323

A.2.4 安装进度 324

A.2.5 安装完成 324

A.2.6 启动控制台 325

A.3 在Mac OS X下安装 327

A.4 在Unix下安装 327

A.4.1 从源代码编译 328

A.4.2 使用二进制软件包 328

A.4.3 使用Ruby软件包管理工具 328

A.5 编辑器与IDE 329

附录B Ruby参考集 331

B.1 RubyGems 331

B.2 命令行选项 333

B.3 预定义变量、常量 335

B.3.1 预定义变量 335

B.3.2 预定义常量 336

B.3.3 伪变量 336

B.3.4 环境变量 337

后记 338

谢辞 339


猜您喜欢

读书导航