プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

サポートページ

お詫びと訂正(正誤表)

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

(2021年9月29日最終更新)

P.109、下から10行目

誤 to_intsメソッドの実装で必要な手順は大きくは分けて次の2つです。
正 to_intsメソッドの実装で必要な手順は大きく分けて次の2つです。

(以下2021年9月9日更新)

P.398、10行目

誤 ・gate.rb の 26 行目( exit メソッド)呼ばれた。
正 ・gate.rb の 26 行目( exit メソッド)が呼ばれた。

(以下2021年7月1日更新)

P.139、上から2つめのサンプルコード

誤

# nunmbersのループは脱出するが、fruitsのループは継続する
正

# numbersのループは脱出するが、fruitsのループは継続する

(以下2021年6月15日更新)

P.116 4.7.2 節の最初のサンプルコード

誤
a = [1, 2, 3]
a[-3] = -10 #=> [-10, 2, 3]
正
a = [1, 2, 3]
a[-3] = -10
a #=> [-10, 2, 3]

(以下2021年6月3日更新)

P.102、下から5行目

誤 # 1から10まで2つ飛ばしで繰り返し処理を行う
正 # 1から10まで2回ごとに繰り返し処理を行う

P.274、30行目

誤 クラスメソッドが特異メソッドあることを
正 クラスメソッドが特異メソッドであることを

P.341、下から3行目

誤 次のように第1引数に例外を、
正 次のように第1引数に例外クラスを、

(以下2021年5月31日更新)

P.99、下から5行目

誤 include?メソッドを使うと引数の値に含まれるかどうかを判定できるので、
正 include?メソッドを使うと引数の値が範囲に含まれるかどうかを判定できるので、

(以下2021年3月16日更新)

P.193 真ん中あたりのテストの実行結果の最終行

誤

1 runs, 2 assertions, 1 failures, 0 errors, 0 skips
正

1 runs, 1 assertions, 1 failures, 0 errors, 0 skips

P.196 1つ目のテストの実行結果の最終行

誤

1 runs, 2 assertions, 0 failures, 0 errors, 0 skips
正

1 runs, 1 assertions, 0 failures, 0 errors, 0 skips

(以下2020年9月2日更新)

P.374、21行目

誤 前の節では「引数のblockはメソッド実行時に紐付けられたブロックである」と説明しました。
正 上のコードに出てきた引数のblockはgreetingメソッドを実行した際に紐付けられるブロックです。

(以下2020年3月27日更新)

P.12、「1.6.1 本書のサンプルコードとその表示例について」の最初の実行例(6行目)

誤

=> "Hello, world"

正

=> "Hello, world!"

(以下2020年1月29日更新)

P.404、28行目

誤 コードを挟み込みんでください。
正 コードを挟み込んでください。

(以下2019年9月17日更新)

P.153、一番下のサンプルコード

誤

# 文字列のキーとハッシュのキーを混在させる

正

# 文字列のキーとシンボルのキーを混在させる

(以下2019年6月11日更新)

P.32、一番下のサンプルコード

誤

# &&は||よりも優先度が高いので、次のようなルールで評価される

正

# &&は||よりも優先順位が高いので、次のようなルールで評価される

(以下2018年6月22日更新)

P.347、下から2行目

誤 例題の解説が終わったら再び例題処理に関する応用的なトピックを説明していきます。
正 例題の解説が終わったら再び例外処理に関する応用的なトピックを説明していきます。

P.352、下から2行目

誤 では、再び例題処理に関する応用的なトピックを説明していきます。
正 では、再び例外処理に関する応用的なトピックを説明していきます。

(以下2018年4月5日更新)

P.404 4行目

誤 さらにprint文を追加する → プログラムを追加する → さらにほかにも……
正 さらにprint文を追加する → プログラムを実行する → さらにほかにも……

(以下2018年1月15日更新)

P.269 真ん中あたり

誤 /\A\d{3}-\d{4}\z/ === text
や
/\A\d{4}\/\d{1,2}\/\d{1,2}\z/ === text
正 /^\d{3}-\d{4}$/ === text
や
/^\d{4}\/\d{1,2}\/\d{1,2}$/ === text

(以下2017年12月1日更新)

P.37 1つ目のサンプルコード

誤 # 変数名をひらがなにする(一般的ではない)
正 # メソッド名をひらがなにする(一般的ではない)

(以下2017年11月21日更新)

P.33、4つ目のサンプルコード

誤

!(t1 && f2) #=> true

正

!(t1 && f1) #=> true


(以下、2017年11月20日更新)

P.159、真ん中あたりのサンプルコード

誤

assert_equal 100, convert_length(1, 'm', 'cm')
assert_equal 0.01, convert_length(1, 'cm', 'm')

正

assert_equal 39.37, convert_length(1, 'm', 'in')
assert_equal 0.38, convert_length(15, 'in', 'm')

P.160、下から8行目

誤 あと、convert_length(1, :m, :cm)だと引数の意味が若干わかりにくい気がします。convert_length(1, from: :m, to: :cm)のようにキーワード引数を使うと、
正 あと、convert_length(1, :m, :in)だと引数の意味が若干わかりにくい気がします。convert_length(1, from: :m, to: :in)のようにキーワード引数を使うと、