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 11 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
pre
#77747: The preface page says 'P2.0 - December 2013' but the timestamp is mars 27 and that is also what is used in pragmatic bookshelf. The bookshelf ...more...
P2.0
31-Oct-14
n/a
#77510: In Chapter 27 under "Alphabetical Listing", the entries all run into each other with no spaces inbetween and no formatting. Also, some of the ...more...
P2.0
29-Sep-14
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
0

#78138: Enumerators aren't mentioned at all in Part 3 Ruby Crystalized.2

P2.0
02-Feb-15
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
16
#77317: The example line 11 from the bottom will NOT produce the output in line 6 from the bottom. The output will be an error. This might confuse rea...more...
P2.0
12-Sep-14
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
45
#78079: the example presents the contents of 'b' at the end. I'd like to see the contents of 'a' as well, in order to see that the access of a[3] did...more...
P2.0
23-Jan-15
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
84

#77790: 2nd line of Rational example should show result # => (1/3)

P1.0
09-Nov-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
108
#78089: since we are using /x for the last 're' on the page, it would be nice to include a comment that we are fishing for literal '{' and '}' charact...more...
P2.0
27-Jan-15
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
150
#78155: raise ArgumentError, "Name too big", caller[1..-1] we think the range at the end should be [1...-1], in other words, 3 dots, not two. The...more...
P2.0
06-Feb-15
152
#78102: When describing what happens with a second parameter for 'throw', this phrase implies we have already seen or learned about a second parameter...more...
P2.0
28-Jan-15
192

#78124: typo: context "and the oponent wins a point" do
s/oponent/opponent/

P2.0
29-Jan-15
213

#78125: Typo: At some point, when you finishing reading from the last file,
s/finishing/finish/

P2.0
29-Jan-15
298

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

should be 'perform'--Patrick Neve

P1.0
31-Jan-14
301

#77807: classStringon page 666.
The Basic Types • 301
Rather, 'class String on page...'--michael cannon

P2.0
15-Nov-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
453
#77848: Method overview for eql? for the class Complex should have a ? in it: it reads: complex.eql( other ) → true or false but should read: com...more...
P2.0
26-Nov-14
473 473
#78150: In description of "one?", change "at least" to "exactly" (or similar). "(that is, one? will return true if {exactly}[at least] one of the c...more...
P2.0
05-Feb-15
585

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

P1.0
21-Jan-14
742
#78078: not exactly a bug, but messy: the example used for documenting CSV on p 742 prints out table contents where the values don't line up exactly....more...
P2.0
23-Jan-15
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