『たのしい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」の誤りです。