『たのしいRuby 第4版』正誤表

p.6 irbの実行

Ruby Instarller for Windows 2.0.0-p0を使ってRubyをインストールした場合、irbコマンドを実行したときに以下のように「DL is deprecated, please use Fiddle」という警告が表示されます。

ruby 2.0.0p0 (2013-02-24) [x64-mingw32]

C:\Users\gotoyuzo>irb
DL is deprecated, please use Fiddle
>>

これはRuby Installer for Windowsに添付されているreadlineライブラリがDLという古いライブラリを使っているためです。警告されていますが、使用上の問題は特にありません。疑問に思われるかもしれませんので補足しておきます。

p.39 最後の行(第5刷で修正)

プログラムと説明で使っているメソッド名が違っています。

printメソッドが繰り返し実行されるのがわかります。

正 putsメソッドが繰り返し実行されるのがわかります。

p.46 実行例(第4刷で修正)

実行するスクリプト名が誤っています。

誤 > ruby happybirthday.rb Ruby

正 > ruby happy_birth.rb Ruby

p.53 実行例(第4刷で修正)

実行するスクリプト名が誤っています。

誤 > ruby hello_ruby.rb

正 > ruby hello_ruby2.rb

p.62 List 4.1 scopetest.rb 4行目(第4刷で修正)

requireでスクリプトと同じディレクトリにあるファイルを読み込むには、パスを明示しなければいけません。

誤 4: require "sub"

正 4: require "./sub"

p.63の図4.1中のrequireも同様です。

p.99 List 6.13 break_next_redo.rb 18行目(第5刷で修正)

pメソッドとその引数の配列の間に半角空白が必要です。空けないと変数pへのインデックスアクセスのように解釈されます。

誤  p[i,lang]

正  p [i,lang]

p.179 List 9.1 point.rb 2行目(第5刷で修正)

のちのページのサンプルでx=メソッドやy=メソッドを使うため、attr_readerではなくattr_accessorを使ってください。

誤  attr_reader :x, :y

正  attr_accessor :x, :y

p.352 io.binmodeのサンプルコード 2行目(第4刷で修正)

io.binmodeは引数を受け取りません。

誤   io.binmode 15

正   io.binmode

p.402 練習問題(3)(第2刷で修正)

設問が適切ではありません。第2刷以降では以下のように変更されます。

(3) str.encode("Shift_JIS")str.encode("Windows-31J")を実行したときに結果が異なるような、UTF-8の文字列strを見つけてください。

p.420 冒頭のサンプルコード(第4刷で修正)

Procオブジェクトを実行するにはProc#callかProc#[]を使います。

誤 p square(5)

正 p square[5]

p.491 Fileクラスの索引(第5刷で修正)

Fileクラスの参照先が261ページになっていますが、正しくは361ページです。