『たのしいRuby 第2版』正誤表
$Id: errata.html,v 1.10 2008/01/16 07:08:35 gotoyuzo Exp $
p.17 (第4刷で訂正)
先頭の行で「数値を表示するには、文字列同様、printメソッドを使います。」
とありますが、例がputsになっています。
「文字列と同様にprintメソッドやputsメソッドを使います。」と読み換えてください。
p.83 (第5刷で訂正)
コラム『「===」とcase文』の中程の実行例に誤りがあります。
誤 p /zz/ ==="zyzzy" #=>2
正 p /zz/ ==="zyzzy" #=>true
p.92 (第2刷で訂正)
ページ中程のList 6.4の説明でコードを指し示している行番号に誤りがあります。
誤 3行目から5行目のfor文では
正 2行目から4行目のfor文では
p.134 (第5刷で訂正)
point.rbのswapメソッドの最後から2行目に誤りがあります。
誤 other.y = xtmp
正 other.y = ytmp
あるいは、次のように多重代入を用いると一時変数は不要になります。
def swap
other.x, @x = @x, ohter.x
other.y, @y = @y, ohter.y
end
p.154 (第5刷で訂正)
wc.rbの単語を数える処理に誤りがあります。
sizeメソッドの呼び出しがひとつ余分なので削除します。
誤 ary = line.split(/\s+/).size # 空白文字で分解する
正 ary = line.split(/\s+/) # 空白文字で分解する
p.230 (第8刷で訂正)
コラム「改行について」でgetsが認識する改行文字を認識する方法について、p.329を参照するように説明されていますが、p.289の誤りです。
p.239 (第5刷で訂正)
練習問題(1)の(e)が抜けています。(f)を(e)と読みかえてください。
p.320 (第4刷で訂正)
Tempfile.newがインスタンスメソッドとして表記されていますが、クラスメソッドの誤りです。
誤 tempfile.new(basename[, tempdir])
正 Tempfile.new(basename[, tempdir])
p.321 (第2刷で訂正)
FileUtilsモジュールのメソッドの一覧に、「FileUtils.cp_rf」が挙げられていますが、このメソッドは存在しません。一方、「FileUtils.rm」には例外を無視するバージョンの「FileUtils.rm_f」がありますが、一覧から洩れています。
p.321 (第5刷で訂正)
(第2刷から第4刷のみ)下から4行目の「FileUtils.rm_f」は「FileUtils.rm_rf」の誤りです。