太多的错误拼写、错误代码,压根没有审校过!!!
2013-06-19
太多的错误拼写
太多的错误代码
翻译得也不行
我觉得这本书的翻译太不用心了,很多代码都抄错了,这本书出版有经过审校核对吗?这么多明显的错误!
最雷人的是——>
竟然将Hash翻译成“杂凑”。。 “杂凑”。。 “杂凑”。。
而且,“杂凑”key比较的示例代码错了
38页底部:
”杂凑“内部的键与给定的键进行比较等情况,我们需要使用eql?来比较:
hash= {0=>"0"}
p hash[0,0] #=>nil 实际上这行代码错鸟
其实要表达的意思大概是:
hash= {0.0=>"im"}
p 0==0.0 #=> true
p 0.eql? 0.0 #=> false
p hash[0.0] #=>"im"
p hash[0] #=>nil
8.3.2章 标题前的一段代码写成了
for i.name == name
return i
end
实际应该是
if i.name==name
return i
end
此错误代码下面又出现了多次
8.4 章(P.83)
将FileTest写成了FileText
10.2 章 P.97
表10-1
?a表示字符a的ASCII码 ——这一点虽不算错误,因为此书中的Ruby版本为1.8.4,在1.8.4中确实是这样的行为,不过我这里提醒下读者,在Ruby 1.9之后,?a是一个String,如果要获取字符a的ASCII码,应该用"a".ord方法。
下面的?C-a和?M-a之类的也是如此
同样,在10.3.1 P98中提到的1.divmod(0.0)在新版的Ruby中,行为已经不再是返回[NaN,NaN] 了
P114 ,「在Ruby方法中,与sort相对应的方法是“!sort”,即存在同名的加了前缀"!"的方法。」——此处应该是"sort!",是后缀!
P117,11.9章标题前的一段代码又错了:
a = "foonbarnbuz"
b = a.collect{|i| i.upcase} #又错鸟!String对象哪有collect方法啊
————————————
我猜正确代码应该是这样的
a = "foonbarnbuz".split
b = a.collect{|i| i.upcase}
p b # => ["FOO", "BAR", "BUZ"]
12.1.2 P123 全是拼写错误、太马虎了!
message<<"结束记号"
可内嵌的字符串
结束记号
应当为:
message = <<"结束记号"
可内嵌的字符串
结束记号
(表达的意思是创建变量message,原来的代码表示message是一个已经有的函数)
P124,对于缩排Here Doc的示例代码也错了,
代码中应该用<<-"EOB“,为什么他少写了个"-",将"<<-"写成"<<"我就这么只需一眼就看出来了呢?
P128,提醒:新版Ruby 1.9中,字符串索引str[0]获取到的仍然是字符串
P133,12.9.2节,将grep拼错成了gerp!
P135,竟然这样直接翻译成“补充完善计画”了。好歹也应该是“计划”啊?实际上应该是指“补丁”!
P173 15.6 将“gunzip”拼错成"gnuzip",难道GNU Zip就该叫gnuzip?