We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P2.0, released 5 months ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
xi
#76532: Remove the Forward to the 3rd edition. It makes the 1.9/2.0 version which is 4th ed appear to be the 3rd edition and confuses customers. Espec...more...
P1.0
13-Mar-14
5

#76356: "... is Luis Lavena's RubyInstaller.org." ->

"... is Luis Lavena's RubyInstaller."--Jon Forrest

P1.0
02-Feb-14
11

#53158: "(To get a list of classes with ri documentation, type
ri with no arguments.)"
Isn't that what -l (--list) switch is for?--Anatoly Kamchatnov

P1.0
16-Nov-13
32

#77215: In BookStock the method to_s is defined but not called. --Cristina Atx

P2.0
14-Aug-14
44
#76765: Chapter 3 says the following: We still have to look at class methods and at concepts such as mixins and inheritance. We’ll do that in Chapter ...more...
P2.0
03-May-14
47
#76837: Similarly, unshift and shift add and remove elements from the head of an array. Combine shift and push, and you have a first-in first-out (FI...more...
P1.0
04-Jun-14
62
#76433: I have following version of ruby. asang@speedy ruby]$ ruby -v ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux] When I try usin...more...
P1.0
17-Feb-14
64

#76797: It would be more consistent to either say 0..4 or 0...5 as what is referenced on page 66 doesn't match what is on page 64 (in the for loop).

P2.0
15-May-14
90
#76576: In the following code on page 90: class Person include Comparable attr_reader :name def initialize(name) @name = name end def to_s "...more...
P2.0
28-Mar-14
103
#76767: I put "typo" but I'm not sure its a typo. For \s, the first line is: (?a), (?d) → [␣\t\r\n\f] (?a), (?d) → [0-9] I get this much: (?a),...more...
P2.0
05-May-14
114
#53155: In "Table 2—Character class abbreviations" \s Whitespace (?a), (?d) → [␣\t\r\n\f] (?a), (?d) → [0-9] This seems to be suggesting ...more...
P1.0
15-Nov-13
122
#76972: "You can place key => value pairs in an argument list, as long as they follow any normal arguments and precede any splat and block arguments."...more...
P2.0
08-Jul-14
298

#76355: Unlike their lowercase counterparts, %I, %Q, and %W will preform interpolation:

should be 'perform'--Patrick Neve

P1.0
31-Jan-14
316
#76770: The information under "Regular Expression Patterns" (under "The Basic Types" under chapter 22 "The Ruby Language" should be a table. Also, th...more...
P2.0
06-May-14
320
#76489: The description of Ranges in Boolean Expressions contains errors, is confusing, and really ought to be rewritten! Both the logic of this expr...more...
P1.0
06-Mar-14
338
#76394: Private methods therefore can be called in the defining class and by that class’s descendents and ancestors, but only within the same object. ...more...
B2.0
09-Feb-14
429

#76663: Chapter 27's coverage of the Array class is missing ".include?", and the index for ".include?" also doesn't mention that it applies to arrays.--Ken Ebling

P2.0
15-Apr-14
438

#57977: Sample invocation of Array#unshift contains a right curly brace that should be left out.--Meindert Meindertsma

P1.0
25-Dec-13
585

#76320: The example code in Module#prepend documentation is truncated.--Rafal Rzepecki

P1.0
21-Jan-14
763

#53282: "when the file cn be read or written" -> "when the file can be read or written"--Graham Menhennitt

P1.0
05-Dec-13
808
#76986: The last sentence of the leading paragraph of the Standard Library description for StringIO on p.808 should read: StringIO objects take the...more...
P2.0
10-Jul-14