出版社: 电子工业出版社
原作名: The Ruby Programming Language
译者: 廖志刚 / 张禾
出版年: 2009-1
页数: 431
定价: 68.00元
装帧: 平装
丛书: O'reilly系列
ISBN: 9787121077012
内容简介 · · · · · ·
《Ruby编程语言》详细介绍了Ruby 1.8和1.9版本各方面的内容。在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。《Ruby编程语言》还包含对Ruby平台上丰富的API的详尽介绍,并用带有详尽注释的代码演示了Ruby进行文本处理、数字运算、集合、输入/输出、网络开发和并发编程的功能。
作者简介 · · · · · ·
本书详细介绍了Ruby 1.8和1.9版本各方面的内容。在对Ruby进行了简要介绍之后,本书详尽覆盖了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。
本书还包含对Ruby平台上丰富的API的详尽介绍,并用带有详尽注释的代码演示了Ruby进行文本处理、数字运算、集合、输入/输出、网络开发和并发编程的功能。
目录 · · · · · ·
1.1 漫游Ruby 2
1.2 体验Ruby 11
1.3 关于本书 15
1.4 一个Ruby版的Sudoku解答 17
第2章 Ruby程序的结构和运行 25
· · · · · · (更多)
1.1 漫游Ruby 2
1.2 体验Ruby 11
1.3 关于本书 15
1.4 一个Ruby版的Sudoku解答 17
第2章 Ruby程序的结构和运行 25
2.1 词法结构 26
2.2 句法结构 33
2.3 文件结构 35
2.4 程序的编码 36
2.5 Ruby程序的运行 39
第3章 数据类型和对象 41
3.1 数字 42
3.2 文本 46
3.3 数组 64
3.4 哈希 67
3.5 范围 68
3.6 符号 71
3.7 True、False和Nil 72
3.8 对象 72
第4章 表达式和操作符 85
4.1 字面量和关键字字面量 86
4.2 变量引用 87
4.3 常量引用 88
4.4 方法调用 89
4.5 赋值 92
4.6 操作符 100
第5章 语句和控制结构 117
5.1 条件式 118
5.2 循环 127
5.3 迭代器和可枚举对象 130
5.4 代码块 140
5.5 改变控制流 146
5.6 异常和异常处理 154
5.7 BEGIN和END 165
5.8 线程、纤程和连续体 166
第6章 方法、Proc、Lambda和闭包 175
6.1 定义简单方法 177
6.2 方法名 180
6.3 方法和圆括号 183
6.4 方法参数 185
6.5 Proc和Lambda 192
6.6 闭包 200
6.7 Method对象 203
6.8 函数式编程 205
第7章 类和模块 213
7.1 定义一个简单类 214
7.2 方法可见性:Public、Protected、Private 232
7.3 子类化和继承 234
7.4 对象创建和初始化 241
7.5 模块 247
7.6 加载和请求模块 252
7.7 单键方法和Eigenclass 257
7.8 方法查找 258
7.9 常量查找 261
第8章 反射和元编程 265
8.1 类型、类和模块 266
8.2 对字符串和块进行求值 268
8.3 变量和常量 271
8.4 方法 272
8.5 钩子方法 277
8.6 跟踪 279
8.7 ObjectSpace和GC 281
8.8 定制控制结构 281
8.9 缺失的方法和常量 284
8.10 动态创建方法 287
8.11 别名链 290
8.12 领域特定语言 296
第9章 Ruby平台 303
9.1 字符串 304
9.2 正则表达式 310
9.3 数字和数学运算 321
9.4 日期和时间 325
9.5 集合 328
9.6 文件和目录 350
9.7 输入/输出 356
9.8 网络 366
9.9 线程和并发 372
第10章 Ruby环境 389
10.1 执行Ruby解释器 390
10.2 顶层环境 394
10.3 实用性信息抽取和产生报表的快捷方式 403
10.4 调用操作系统的功能 405
10.5 安全 409
索引 413
· · · · · · (收起)
丛书信息
喜欢读"Ruby编程语言"的人也喜欢的电子书 · · · · · ·
喜欢读"Ruby编程语言"的人也喜欢 · · · · · ·
Ruby编程语言的话题 · · · · · · ( 全部 条 )



Ruby编程语言的书评 · · · · · · ( 全部 9 条 )


proc和lamdba那个地方不太懂

值得推荐的Ruby书籍
> 更多书评9篇
-
大句哥哥 (make pie, or invent universe)
「有时候插入或删除空白符将导致程序的语义发生变化」这种话真是看的虎躯一震 胸口紧了好几下 <del>这些坑得避免</del>啊 啊 又有些经常碰到而又必须注意的问题 whitespace dependency:换行符充当语句终结符,惯例不用分号。 x + y x + y 1.9以后 对于第一个非空字符是点号的被认为是上行的延续(可以放心漂亮地搞链式调用了 + 永远不要在方法名后面括号前面留白 + 第一个参数有括号开头 这个调用也得用上括号 foo((1+1)...2013-03-20 00:09
-
白乌鸦 (不要自大,不要对任何人傲慢任性)
&符号:当一个Proc对象被某方法调用时,在Proc对象前加上&,Proc对象就会被当做一个普通的代码块来处理。 例子: a, b = [1,2,3], [4,5] summation = Proc.new{|total,x| total+x} sum = a.inject(0, &summation) Proc对象代表一个代码块 两种Proc对象:proc和lambda 创建Proc对象: adder = Proc.new { |x, y| x+y } call方法:传进参数,并运行proc对象 sum = adder.call(2,2) # => 4 创建lam...2012-02-26 21:42
&符号:当一个Proc对象被某方法调用时,在Proc对象前加上&,Proc对象就会被当做一个普通的代码块来处理。例子:a, b = [1,2,3], [4,5]summation = Proc.new{|total,x| total+x}sum = a.inject(0, &summation)Proc对象代表一个代码块两种Proc对象:proc和lambda创建Proc对象:adder = Proc.new { |x, y| x+y }call方法:传进参数,并运行proc对象sum = adder.call(2,2) # => 4创建lambda:is_positive = lambda { |x| x>0 }209P回应 2012-02-26 21:42 -
/代码内容已省略/ 妈蛋,这最后一个解决数独问题的代码太ugly了,用了尾递归且不说,又用异常来控制跳出。要是项目里有人这么写一定被轮大米或者阿米巴1w次。 更凶残的是居然在初始化里就用到比较高级的优化技巧。。。
2014-01-03 00:32
def Sudoku.scan(puzzle) unchanged = false until unchanged unchanged = true rmin, cmin, pmin = nil min = 10 puzzle.each_unknown do |row, col, box| p = puzzle.possible(row, col, box) case p.size when 0 # 尝试出错,抛出异常 raise Impossible when 1 puzzle[row, col] = p[0] unchanged = false else if unchanged && p.size < min min = p.size rmin, cmin, pmin = row, col, p end end end end return rmin, cmin, pmin end def Sudoku.solve(puzzle) puzzle = puzzle.dup r,c,p = scan(puzzle) return puzzle if r == nil p.each do |guess| puzzle[r,c] = guess begin # 尾递归 return solve(puzzle) # 捕获异常,若无其事地继续 rescue Impossible => e next end end raise Impossible end
妈蛋,这最后一个解决数独问题的代码太ugly了,用了尾递归且不说,又用异常来控制跳出。要是项目里有人这么写一定被轮大米或者阿米巴1w次。更凶残的是居然在初始化里就用到比较高级的优化技巧。。。回应 2014-01-03 00:32
-
/代码内容已省略/ 妈蛋,这最后一个解决数独问题的代码太ugly了,用了尾递归且不说,又用异常来控制跳出。要是项目里有人这么写一定被轮大米或者阿米巴1w次。 更凶残的是居然在初始化里就用到比较高级的优化技巧。。。
2014-01-03 00:32
def Sudoku.scan(puzzle) unchanged = false until unchanged unchanged = true rmin, cmin, pmin = nil min = 10 puzzle.each_unknown do |row, col, box| p = puzzle.possible(row, col, box) case p.size when 0 # 尝试出错,抛出异常 raise Impossible when 1 puzzle[row, col] = p[0] unchanged = false else if unchanged && p.size < min min = p.size rmin, cmin, pmin = row, col, p end end end end return rmin, cmin, pmin end def Sudoku.solve(puzzle) puzzle = puzzle.dup r,c,p = scan(puzzle) return puzzle if r == nil p.each do |guess| puzzle[r,c] = guess begin # 尾递归 return solve(puzzle) # 捕获异常,若无其事地继续 rescue Impossible => e next end end raise Impossible end
妈蛋,这最后一个解决数独问题的代码太ugly了,用了尾递归且不说,又用异常来控制跳出。要是项目里有人这么写一定被轮大米或者阿米巴1w次。更凶残的是居然在初始化里就用到比较高级的优化技巧。。。回应 2014-01-03 00:32 -
大句哥哥 (make pie, or invent universe)
Numeric 整形要么是 Fixnum 要么是 Bignum 自动转换 数值对象 immutable thousands separator 1_000_000_000 x/0 抛ZeroDivisionError x/0.0 返回 Infinity 0.0/0.0 返回 NaN 整数的指数可以得到精确结果 Float的指数过大会溢出到Infinity 负数对象运算向负无穷大圆整2013-03-20 23:19
-
大句哥哥 (make pie, or invent universe)
# coding:utf-8 # anyprefix-coding:utf-8 # CODING=utf-8 # -*- coding: utf-8 -*- # vi: set fileencoding=utf-8 要么第一行 有shebang第二行 编码大小写均可 用__ENCODING__获取当前文件的编码 指定外部编码会影响IO ruby -E utf-8 ruby -Eutf-8 ruby --encoding utf-8 ruby --encoding=utf-82013-03-20 07:37
论坛 · · · · · ·
不错的书 | 来自lxyluu | 2010-10-24 | |
書還不錯 | 来自Air D-dur.24℃ | 2009-05-25 |
在哪儿借这本书 · · · · · ·
以下豆列推荐 · · · · · · ( 全部 )
- Ruby与Rails开发书单 (欧阳)
- 可爱的O'Reilly的小动物们 (cherry)
- Rails Dev (Hooopo)
- O'Reilly动物中文系列 (曹小操)
- 跨越编程语言界限 (开瓶少女)
谁读这本书?
二手市场
订阅关于Ruby编程语言的评论:
feed: rss 2.0
0 有用 Marble Arch 2011-08-02
好书,如沐春风。
0 有用 Rayleigh! 2012-01-06
ruby必备。没的说的了
0 有用 char 2014-06-24
牛
1 有用 john1king 2011-12-10
阅读本书可能需要一些ruby或其它语言的基础,但收获也要比一般入门书要多,值得多看几遍。本书没有停留在简单的语法和api介绍上,涉及了很多的ruby的实现细节和原理,经常能够切身的体会到ruby这门程序语言的魅力。最大的感受是看完之后写出来的ruby程序要简短了不少。
0 有用 蝉 2013-11-06
:TP393.09/5052
0 有用 胖不墩儿 2018-12-26
草草翻完,有点懵。09年的书了,好像是能找到最新的有中译版的ruby书了?2.4了,还在讲1.9。 ruby确实挺厉害/复杂的,好用不红系列?照例中英文结合看的,翻译不错。
0 有用 壮壮 2018-12-16
猛书就是绝版了
0 有用 江湖路远 2018-10-05
三天半时间看了差不多260页,Ruby元编程等以后再看,应付高软大作业足够了
0 有用 boblu 2018-03-01
双飞燕,此书可以和镐头书一起放到书架上,以备查用
0 有用 DreamAndDead 2017-01-15
元编程一章理解不够深入,值得回头再看