Ruby基础教程:第4版

Ruby基础教程:第4版

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.7107 评价豆瓣读书
免费试读

作品简介

本书为日本公认的最好的Ruby入门教程。松本行弘亲自审校并作序推荐。本书支持最新的Ruby 2.0,也附带讲解了可运行于1.9版本的代码,事无巨细且通俗易懂地讲解了编写程序时所需要的变量、常量、方法、类、流程控制等的语法,以及主要类的使用方法和简单的应用,让没有编程经验的读者也能轻松掌握Ruby,找到属于自己的快乐编程方式,做到融会贯通并灵活运用到实际工作中。

本书适合Ruby初学者学习参考,有一定Ruby编程基础的读者若想再回顾一下Ruby的各知识点,本书也能提供不少帮助。

作者简介:

高桥征义(Masayoshi Takahashi)

日本Ruby协会创始人兼会长。日本著名的IT书籍电子书平台达人出版会董事长。著有《Ruby基础教程》《Rails3绝技190招》等。喜欢的作家是新井素子。

后藤裕藏(Yuuzou Gotou)

日本网络应用通信研究所董事。喜欢平克・弗洛伊德乐队。

松本行弘(Yukihiro Matsumoto)

Ruby语言发明者,亦是亚洲首屈一指的编程语言发明者。现兼任网络应用通信研究所(NaCl)研究员、乐天技术研究所研究员、Heroku首席架构师等。昵称“Matz”。讨厌东京,喜欢温泉。

译者简介:

何文斯

上海交通大学电子工程系研究生毕业,现就职于某国际独立软件开发商,从事软件售后支持工作。对面向对象的程序设计,脚本语言及其在语音、图像等信号处理中的应用有着浓厚的兴趣。

作品目录

  1. 推荐序
  2. 译者序
  3. 前言
  4. 本书的读者对象
  5. 0.1 关于 Ruby
  6. 0.2 本书的读者对象
  7. 0.3 本书的构成
  8. 0.4 Ruby 的运行环境
  9. 第 1 部分 Ruby 初体验
  10. 第 1 章 Ruby 初探
  11. 1.1 Ruby 的运行方法
  12. 1.1.1 ruby 命令的执行方法
  13. 1.1.2 irb 命令的执行方法
  14. 1.2 程序解说
  15. 1.2.1 对象
  16. 1.2.2 方法
  17. 1.3 字符串
  18. 1.3.1 换行符与 \
  19. 1.3.2 ' ' 与 " "
  20. 1.4 方法的调用
  21. 1.5 puts 方法
  22. 1.6 p 方法
  23. 1.7 中文的输出
  24. 1.8 数值表示与计算
  25. 1.8.1 数值
  26. 1.8.2 四则运算
  27. 1.8.3 数学相关的函数
  28. 1.9 变量
  29. print方法和变量
  30. 1.10 注释
  31. 1.11 控制语句
  32. 控制语句的分类
  33. 1.12 条件判断:if~then~end
  34. 1.13 循环
  35. 1.13.1 while 语句
  36. 1.13.2 times 方法
  37. 第 2 章 便利的对象
  38. 2.1 数组
  39. 2.1.1 数组的创建
  40. 2.1.2 数组对象
  41. 2.1.3 从数组中抽取对象
  42. 2.1.4 将对象保存到数组中
  43. 2.1.5 数组的元素
  44. 2.1.6 数组的大小
  45. 2.1.7 数组的循环
  46. 2.2 散列
  47. 2.2.1 什么是符号
  48. 2.2.2 散列的创建
  49. 2.2.3 散列的使用
  50. 2.2.4 散列的循环
  51. 2.3 正则表达式
  52. 模式与匹配
  53. 第 3 章 创建命令
  54. 3.1 命令行的输入数据
  55. 3.2 文件的读取
  56. 3.2.1 从文件中读取内容并输出
  57. 3.2.2 从文件中逐行读取内容并输出
  58. 3.2.3 从文件中读取指定模式的内容并输出
  59. 3.3 方法的定义
  60. 3.4 其他文件的引用
  61. 第 2 部分 Ruby 的基础
  62. 第 4 章 对象、变量和常量
  63. 4.1 对象
  64. 4.2 类
  65. 4.3 变量
  66. 局部变量与全局变量
  67. 4.4 常量
  68. 4.5 保留字
  69. 4.6 多重赋值
  70. 4.6.1 合并执行多个赋值操作
  71. 4.6.2 置换变量的值
  72. 4.6.3 获取数组的元素
  73. 4.6.4 获取嵌套数组的元素
  74. 第 5 章 条件判断
  75. 5.1 什么是条件判断
  76. 5.2 Ruby 中的条件
  77. 条件与真假值
  78. 5.3 逻辑运算符
  79. 5.4 if 语句
  80. 5.5 unless 语句
  81. 5.6 case 语句
  82. 5.7 if 修饰符与 unless 修饰符
  83. 5.8 总结
  84. 第 6 章 循环
  85. 6.1 循环的基础
  86. 6.2 循环时的注意事项
  87. 6.3 实现循环的方法
  88. 6.4 times 方法
  89. 6.5 for 语句
  90. 6.6 普通的 for 语句
  91. 6.7 while 语句
  92. 6.8 until 语句
  93. 6.9 each 方法
  94. 6.10 loop 方法
  95. 6.11 循环控制
  96. 6.11.1 break
  97. 6.11.2 next
  98. 6.11.3 redo
  99. 6.12 总结
  100. 第 7 章 方法
  101. 7.1 方法的调用
  102. 7.1.1 简单的方法调用
  103. 7.1.2 带块的方法调用
  104. 7.1.3 运算符形式的方法调用
  105. 7.2 方法的分类
  106. 7.2.1 实例方法
  107. 7.2.2 类方法
  108. 7.2.3 函数式方法
  109. 7.3 方法的定义
  110. 7.3.1 方法的返回值
  111. 7.3.2 定义带块的方法
  112. 7.3.3 参数个数不确定的方法
  113. 7.3.4 关键字参数
  114. 7.3.5 关于方法调用的一些补充
  115. 第 8 章 类和模块
  116. 8.1 类是什么
  117. 8.1.1 类和实例
  118. 8.1.2 继承
  119. 8.2 类的创建
  120. 8.2.1 class 关键字
  121. 8.2.2 initialize 方法
  122. 8.2.3 实例变量与实例方法
  123. 8.2.4 存取器
  124. 8.2.5 特殊变量 self
  125. 8.2.6 类方法
  126. 8.2.7 常量
  127. 8.2.8 类变量
  128. 8.2.9 限制方法的调用
  129. 8.3 扩展类
  130. 8.3.1 在原有类的基础上添加方法
  131. 8.3.2 继承
  132. 8.4 alias 与 undef
  133. 8.4.1 alias
  134. 8.4.2 undef
  135. 8.5 模块是什么
  136. 8.6 模块的使用方法
  137. 8.6.1 提供命名空间
  138. 8.6.2 利用 Mix-in 扩展功能
  139. 8.7 创建模块
  140. 8.7.1 常量
  141. 8.7.2 方法的定义
  142. 8.8 Mix-in
  143. 8.8.1 查找方法的规则
  144. 8.8.2 extend 方法
  145. 8.8.3 类与 Mix-in
  146. 8.9 面向对象程序设计
  147. 8.9.1 对象是什么
  148. 8.9.2 面向对象的特征
  149. 8.9.3 鸭子类型
  150. 8.9.4 面向对象的例子
  151. 第 9 章 运算符
  152. 9.1 赋值运算符
  153. 9.2 逻辑运算符的应用
  154. 9.3 条件运算符
  155. 9.4 范围运算符
  156. 9.5 运算符的优先级
  157. 9.6 定义运算符
  158. 9.6.1 二元运算符
  159. 9.6.2 一元运算符
  160. 9.6.3 下标方法
  161. 第 10 章 错误处理与异常
  162. 10.1 关于错误处理
  163. 10.2 异常处理
  164. 10.3 异常处理的写法
  165. 10.4 后处理
  166. 10.5 重试
  167. 10.6 rescue 修饰符
  168. 10.7 异常处理语法的补充
  169. 10.8 指定需要捕捉的异常
  170. 10.9 异常类
  171. 10.10 主动抛出异常
  172. 第 11 章 块
  173. 11.1 块是什么
  174. 11.2 块的使用方法
  175. 11.2.1 循环
  176. 11.2.2 隐藏常规处理
  177. 11.2.3 替换部分算法
  178. 11.3 定义带块的方法
  179. 11.3.1 执行块
  180. 11.3.2 传递块参数,获取块的值
  181. 11.3.3 控制块的执行
  182. 11.3.4 将块封装为对象
  183. 11.4 局部变量与块变量
  184. 第 3 部分 Ruby 的类
  185. 第 12 章 数值类
  186. 12.1 数值类的构成
  187. 12.2 数值的字面量
  188. 12.3 算数运算
  189. 除法
  190. 12.4 Math 模块
  191. 12.5 数值类型转换
  192. 12.6 位运算
  193. 12.7 随机数
  194. 12.8 计数
  195. 12.9 近似值误差
  196. 练习题
  197. 第 13 章 数组类
  198. 13.1 复习数组
  199. 13.2 数组的创建方法
  200. 13.2.1 使用 Array.new
  201. 13.2.2 使用 %w 与 %i
  202. 13.2.3 使用 to_a 方法
  203. 13.2.4 使用字符串的 split 方法
  204. 13.3 索引的使用方法
  205. 13.3.1 获取元素
  206. 13.3.2 元素赋值
  207. 13.3.3 插入元素
  208. 13.3.4 通过多个索引创建数组
  209. 13.4 作为集合的数组
  210. “|”与“+”的不同点
  211. 13.5 作为列的数组
  212. 13.6 主要的数组方法
  213. 13.6.1 为数组添加元素
  214. 13.6.2 从数组中删除元素
  215. 13.6.3 替换数组元素
  216. 13.7 数组与迭代器
  217. 13.8 处理数组中的元素
  218. 13.8.1 使用循环与索引
  219. 13.8.2 使用 each 方法逐个获取元素
  220. 13.8.3 使用具有破坏性的方法实现循环
  221. 13.8.4 使用其他迭代器
  222. 13.8.5 创建专用的迭代器
  223. 13.9 数组的元素
  224. 13.9.1 使用简单的矩阵
  225. 13.9.2 初始化时的注意事项
  226. 13.10 同时访问多个数组
  227. 练习题
  228. 第 14 章 字符串类
  229. 14.1 字符串的创建
  230. 14.1.1 使用 %Q 与 %q
  231. 14.1.2 使用 Here Document
  232. 14.1.3 使用 sprintf 方法
  233. 14.1.4 使用 ``
  234. 14.2 获取字符串的长度
  235. 14.3 字符串的索引
  236. 14.4 字符串的连接
  237. 14.5 字符串的比较
  238. 14.5.1 字符串的大小比较
  239. 14.6 字符串的分割
  240. 14.7 换行符的使用方法
  241. 14.8 字符串的检索与置换
  242. 14.8.1 字符串的检索
  243. 14.8.2 字符串的置换
  244. 14.9 字符串与数组的共同方法
  245. 14.9.1 与索引操作相关的方法
  246. 14.9.2 返回 Enumerator 对象的方法
  247. 14.9.3 与连接、反转(reverse)相关的方法
  248. 14.10 其他方法
  249. 14.11 日语字符编码的转换
  250. 14.11.1 encode 方法
  251. 14.11.2 nkf 库
  252. 练习题
  253. 第 15 章 散列类
  254. 15.1 复习散列
  255. 15.2 散列的创建
  256. 15.2.1 使用 {}
  257. 15.2.2 使用 Hash.new
  258. 15.3 值的获取与设定
  259. 15.3.1 一次性获取所有的键、值
  260. 15.3.2 散列的默认值
  261. 15.4 查看指定对象是否为散列的键或值
  262. 15.5 查看散列的大小
  263. 15.6 删除键值
  264. 15.7 初始化散列
  265. 处理有两个键的散列
  266. 15.8 应用示例:计算单词数量
  267. 练习题
  268. 第 16 章 正则表达式类
  269. 16.1 关于正则表达式
  270. 16.1.1 正则表达式的写法与用法
  271. 16.1.2 正则表达式对象的创建方法
  272. 16.2 正则表达式的模式与匹配
  273. 16.2.1 匹配普通字符
  274. 16.2.2 匹配行首与行尾
  275. 16.2.3 指定匹配字符的范围
  276. 16.2.4 匹配任意字符
  277. 16.2.5 使用反斜杠的模式
  278. 16.2.6 重复
  279. 16.2.7 最短匹配
  280. 16.2.8 () 与重复
  281. 16.2.9 选择
  282. 16.3 使用 quote 方法的正则表达式
  283. 16.4 正则表达式的选项
  284. 16.5 捕获
  285. 16.6 使用正则表达式的方法
  286. 16.6.1 sub 方法与 gsub 方法
  287. 16.6.2 scan 方法
  288. 16.7 正则表达式的例子
  289. 练习题
  290. 第 17 章 IO 类
  291. 17.1 输入 / 输出的种类
  292. 17.1.1 标准输入 / 输出
  293. 17.1.2 文件输入 / 输出
  294. 17.2 基本的输入 / 输出操作
  295. 17.2.1 输入操作
  296. 17.2.2 输出操作
  297. 17.3 文件指针
  298. 17.4 二进制模式与文本模式
  299. 17.5 缓冲
  300. 17.6 与命令进行交互
  301. 17.7 open-uri 库
  302. 17.8 stringio 库
  303. 练习题
  304. 第 18 章 File 类与 Dir 类
  305. 18.1 File 类
  306. 18.1.1 变更文件名
  307. 18.1.2 复制文件
  308. 18.1.3 删除文件
  309. 18.2 目录的操作
  310. 18.2.1 目录内容的读取
  311. 18.2.2 目录的创建与删除
  312. 18.3 文件与目录的属性
  313. FileTest 模块
  314. 18.4 文件名的操作
  315. 18.5 与操作文件相关的库
  316. 18.5.1 find 库
  317. 18.5.2 tempfile 库
  318. 18.5.3 fileutils 库
  319. 练习题
  320. 第 19 章 Encoding 类
  321. 19.1 Ruby 的编码与字符串
  322. 19.2 脚本编码与魔法注释
  323. 19.3 Encoding 类
  324. Encoding 类的方法
  325. 19.4 正则表达式与编码
  326. 19.5 IO 类与编码
  327. 19.5.1 外部编码与内部编码
  328. 19.5.2 编码的设定
  329. 19.5.3 编码的作用
  330. 练习题
  331. 第 20 章 Time 类与 Date 类
  332. 20.1 Time 类与 Date 类
  333. 20.2 时间的获取
  334. 20.3 时间的计算
  335. 20.4 时间的格式
  336. 20.5 本地时间
  337. 20.6 从字符串中获取时间
  338. 20.7 日期的获取
  339. 20.8 日期的运算
  340. 20.9 日期的格式
  341. 20.10 从字符串中获取日期
  342. 练习题
  343. 第 21 章 Proc 类
  344. 21.1 Proc 类是什么
  345. 21.1.1 lambda
  346. 21.1.2 通过 Proc 参数接收块
  347. 21.1.3 to_proc 方法
  348. 21.2 Proc 的特征
  349. 21.3 Proc 类的实例方法
  350. 练习题
  351. 第 4 部分 动手制作工具
  352. 第 22 章 文本处理
  353. 22.1 准备文本
  354. 22.1.1 下载文件
  355. 22.1.2 获取正文
  356. 22.1.3 删除标签
  357. 22.2 扩展 simple_grep.rb :显示次数
  358. 计算匹配行
  359. 22.3 扩展 simple_grep.rb :显示匹配的部分
  360. 22.3.1 突出匹配到的位置
  361. 22.3.2 显示前后各 10 个字符
  362. 22.3.3 让前后的字符数可变更
  363. 第 23 章 检索邮政编码
  364. 23.1 获取邮政编码
  365. 23.2 检索邮政编码
  366. 23.3 sqlite3 库
  367. 23.4 插入数据
  368. 23.5 检索数据
  369. 23.6 总结
  370. 附录
  371. 附录 A Ruby 运行环境的构建
  372. A.1 Ruby 的安装
  373. A.2 在 Windows 下安装
  374. A.2.1 开始安装
  375. A.2.2 同意软件使用许可协议
  376. A.2.3 确认安装路径以及选项
  377. A.2.4 安装进度
  378. A.2.5 安装完成
  379. A.2.6 启动控制台
  380. A.3 在 Mac OS X 下安装
  381. 通过 MacPorts 安装
  382. A.4 在 Unix 下安装
  383. A.4.1 从源代码编译
  384. A.4.2 使用二进制软件包
  385. A.4.3 使用 Ruby 软件包管理工具
  386. A.5 编辑器与 IDE
  387. 没有好用的编辑器就不能编写 Ruby 程序吗
  388. 附录 B Ruby 参考集
  389. B.1 RubyGems
  390. gem 命令
  391. B.2 Ruby 参考手册
  392. B.2.1 Web 上的资源
  393. B.2.2 ri 命令
  394. B.2.3 阅读参考手册的技巧
  395. B.3 命令行选项
  396. B.4 预定义变量、常量
  397. B.4.1 预定义变量
  398. B.4.2 预定义常量
  399. B.4.3 伪变量
  400. B.4.4 环境变量
  401. B.5 错误信息
  402. B.5.1 syntax error
  403. B.5.2 NameError/NoMethodError
  404. B.5.3 ArgumentError
  405. B.5.4 TypeError
  406. B.5.5 LoadError
  407. B.5.6 [BUG]
  408. 后记
  409. 谢辞
  410. 两位著者的谢辞
  411. 高桥征义的谢辞
  412. 后藤裕藏的谢辞
  413. 看完了
载入中

热门划线

喜欢这本书的人也喜欢