Ruby公式資格教科書Ruby技術者認定試験Silver/Gold対応

サポートページ

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。

(2013年2月19日更新)

第1章

P.2 「1-1-1.Rubyの誕生と第一次Rubyブーム」の3行目
誤 1995年にはfjにて
正 1995年にはnetnewsのfjにて

第3章

P.47ページ コード3-45の3行目
誤
"Ab" < "Ab"  #true
正
"Ab" < "Ab"  #false
P.58 コード3-62の2~3行目
誤
a[0][1]   #1
a[1][2] #4
正
a[0][0]   #1
a [1][1] #4
P.67 コード3-82の配列b
誤
b = [2, 2, 3, 4]
正
b = [2, 2, 3, 3]
P.67 コード3-83の配列b
誤
b = [2, 2, 3, 4]
正
b = [2, 2, 3, 3]
P.81 上から5行目
誤 例えば、コード11-3
正 例えば、コード3-112
P.82 図3-13 左下の箱のラベル
誤 $
正 ^
P.101 コード3-152
誤
def foo 1 / 0 rescue p 1 end #=> 1
正
def foo; 1 / 0 rescue p 1 end #=> 1

第4章

P.110 8行目
誤 10~11行目を確認してください
正 9~10行目を確認してください
P.111 コード4-5の説明文の5行目
誤 12行目ではFooクラスで定義された
正 11行目ではFooクラスで定義された
P.116 上から5行目
誤 suprclassメソッドは
正 superclassメソッドは
P.129 「特異メソッドの定義」の1行目
誤 def <クラス名>.<新たに定義するメソッド名>
正 def <オブジェクト名>.<新たに定義するメソッド名>
P.134 6行目
誤 次に、コード4-24を確認しましょう。
正 次に、コード4-23を確認しましょう。
P.150 コード4-48の後の説明文3行目
誤 @V2は
正 @v2は
P.150 コード4-48の後の説明文4行目
誤 Quax3クラスに
正 Qux3クラスに
P.150 図4-22の左上のクラス名
誤 Quax3
正 Qux3
P.151 コード4-49の最終行
誤
p method1
正
p qux4. method1
P.153 図4-23 左上のクラス名
誤 Quax5Ext
正 Qux5Ext
P.153 図4-23 左下のクラス名
誤 quax5Ext
正 qux5Ext
P.153 図4-23 中央上のクラス名
誤 Quax5
正 Qux5
P.153 図4-23 中央下のクラス名
誤 quax5
正 qux5

第5章

P.204 「5-4-8.配列の比較」の説明文4行目
誤 右辺が大きければ1を、左辺が大きければ-1を返します。
正 左辺が大きければ1を、右辺が大きければ-1を返します。
P.206 「5-4-11.配列の長さを求める」コード5-84の後の説明文
誤 ntimesメソッドは
正 nitemsメソッドは
P.206 「5-4-11.配列の長さを求める」に追記
追記 バージョン1.9では、nitemsメソッドは廃止されています。代わりにcountメソッドを使います。詳細はリファレンスマニュアルを参照してください。
P.216 コード5-111の最終行
誤
=> {"coffee" => "drink"}
正
=> {"apple" => "fruit"}
P.217 コード5-115の4行目
誤
=> {"orange"=>"fruit", "coffee"=>"drink", "apple"=>"foods", "tee"=>"drink"}
正
=> {"orange"=>"fruit", "coffee"=>"drink", "apple"=>"fruit", "tee"=>"drink"}

※"apple"=>"foods"ではなく、"apple"=>"fruit")

P.217 コード5-115の6行目
誤
=> {"orange"=>"fruit", "coffee"=>"drink", "apple"=>"foods", "tee"=>"drink"}
正
=> {"orange"=>"fruit", "coffee"=>"drink", "apple"=>"fruit", "tee"=>"drink"}

※"apple"=>"foods"ではなく、"apple"=>"fruit"

P.226 表5-1の最終行
誤 読み書きモード。ファイルの読み書き位置が末尾になる。
正 読み書きモード。ファイルの読み込み位置は先頭に、書き込み位置は常に末尾になる。

誤 ntimesメソッドは
正 nitemsメソッドは

誤 ntimesメソッドは
正 nitemsメソッドは
P.231 「5-7-3.IOクラス」の「IOを開く」説明文1行目
誤 Kenel
正 Kernel
P.236 表5-5の下から2段目の「readbyte」
誤 「readbyte: nil が返る。」
正 「getbyte: nil が返る。」
P.267 コード5-229の後の説明文2行目
誤 aliasが予約後語であり
正 aliasが予約語であり
P.268 コード5-231の7、8行目
誤
"> [].bar
    => ""foo"""
正
">[].foo
    =>""bar"""

第6章

P.307 「6-3-2.CSV」の表6-4
誤 読み込み
正 読み出し
P.307 「6-3-2.CSV」の表6-4
誤 バイナリ読み込みモード
正 バイナリ読み出しモード
P.307 「6-3-2.CSV」の下から5行目
誤 読み込み時
正 読み出し時
P.308 小見出し
誤 読み込みのみ可能なメソッド
正 読み出しのみ可能なメソッド
P.308 「読み込みのみ可能なメソッド」説明文1行目
誤 読み込みを行うメソッド
正 読み出しを行うメソッド
P.308 「foreach」説明文1行目
誤 読み込んだ行単位
正 読み出した行単位
P.309 「read/readlines」説明文2行目
誤 読み込み結果
正 読み出し結果
P.309 コード6-19キャプション
誤 CSVデータの読み込み
正 CSVデータの読み出し
P.310 「rm/remove」説明文1行目
誤 rm、removeはファイルを削除するメソッドです。
正 rmメソッドは、listに指定したファイルを削除します。
P.310 「rm/remove」説明文5行目に追記
追記 removeメソッドは、rmメソッドのエイリアスメソッドです。
P.314 図6-3
誤 UPDSocket
正 UDPSocket
P.337 図6-11
誤 Data
正 Date
P.337 図6-11
誤 Data Time
正 Date Time
P.343 「now」の書式
誤
Date.now([start])
正
DateTime.now([start])
P.354 「flunk」の構文と説明文
誤 flunk
常に検証が失敗するテストケースを作ることができます。特定のテストケースの記述を後回しにするときなど、目印代わりに使用する場合に便利です。
正 flunk(message=""Flunked"")
常に検証が失敗するテストケースを作ることができます。特定のテストケースの記述を後回しにするときなど、目印代わりに使用する場合に便利です。引数のmessageには失敗時にメッセージとして出力する任意の文字列を指定できます。

第7章

P.373 問題14の選択肢2
誤 "Hello,\nRuby\nWorld\n"と表示される
正 "Hello,\nRuby\nWorld.\n" と表示される

第8章

P.451 問題44の選択肢4
誤 例外発生と表示される。
正 例外発生。
P.452 問題47の選択肢4
誤 クラスやモジュール自身はマーシャリングできない
正 無名のクラスやモジュールはマーシャリングできない
P.461 問題12の解説
誤 aliasは、第1引数に旧メソッド名、第2引数に新メソッド名を指定します。
正 aliasは、第1引数に新メソッド名、第2引数に旧メソッド名を指定します。
P.467 問題43 解説2行目
誤 cloneはfreeze、taint、特異メソッドの情報も含めた完全な複製を返します。dupは、オブジェクトのみの複製を返します。
正 cloneはfreeze、特異メソッドの情報も含めた完全な複製を返します。dupは、オブジェクトおよびtaint情報を含めた複製を返します。
P.468 問題47の選択肢4
誤 また、クラスやモジュール自身もマーシャリングできません。
正 また、無名のクラスやモジュールもマーシャリングできません。