The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
Printed |
Page 4
First paragraph under Boiling Frogs |
Boiling Frogs: The antecdote about boiling frogs isn't true. I like the metaphor, but
we should clarify that it's a fable, or an urban myth. Change
"You've doubtlessly heard that if..."
to
"You've doubtlessly heard the fable that if..."
|
Anonymous |
|
|
Printed |
Page 17
Last paragraph, 5th sentence |
"The code touches memory one byte beyond the from block."
should be:
"The code touches memory one byte before the to block."
|
Anonymous |
|
|
Printed |
Page 19
2nd paragraph, 3rd sentence |
"And it can never hold a string longer than six characters."
should be:
"And it can never hold a string longer than five characters."
|
Anonymous |
|
|
Printed |
Page 59
line 6-7 |
Said another way, strong typing can be dynamic or weak
=> shoud read as
Said another way, strong typing can be dynamic or static
|
Anonymous |
|
|
Printed |
Page 60
1st paragraph |
"In general, though, the dynamic programmers that I interviewed said static typing simply mauls productivity."
should be:
"In general, though, the dynamic language programmers that I interviewed said static typing simply mauls productivity."
|
Anonymous |
|
|
Printed |
Page 61
6th line from the bottom |
Incorrect. 100 will not cause an overflow.
Change "if you need 100 iterations,..."
to
"if you need too many iterations, ..."
|
Anonymous |
|
|
Printed |
Page 98
Under Looping |
Change
Many of Ruby's libraries...
to
Many of Ruby's libraries have methods that...
|
Anonymous |
|
|
Printed |
Page 109
2nd Paragraph last sentence |
"That may seem strange until you include the module in the Calculator class that we made before:"
Should say
"That may seem strange until you include the module in the Person class that we made before:"
|
Anonymous |
|
|
Printed |
Page 113
Fourth paragraph |
"The difference dependency..."
should be:
"The difference between dependency..."
|
Anonymous |
|
|
Printed |
Page 127
2/3 of the way down |
The use of Trails and Trail as a model is inconsistent. I want to clean that up now
that I have better understanding.
1) On page 127, Strike the second code generation in the example that says"
ruby script/generate model trails
2) Still page 127, near the bottom, make :trails singular. Strike the s on the end of
trails. The example should be:
class TrailsController < ApplicationController
scaffold :trail
end
3) At the top of page 127, change :trails to :trail. Should say:
The first parameter is :trail, ...
Now, we're going to do the same with locations.
4) Middle of page 128, change the scaffolding in the third text paragraph to be
script/generate scaffold location locations. The sentence should say:
..., complete with scaffolding with ruby script/generate scaffold location locations.
5) Change the scaffolding line in trails also, to be script/generate scaffold trail
trails. New sentence should be:
..., do the same for Trail with ruby script/generate scaffold trail trails.
6) Bottom of page 128. Change the class names to be singular. Change the class names
in the last programming example on the page to singulars:
class Trail < ActiveRecord::Base
belongs_to :location
end
class Location < ActiveRecord::Base
has_many :trails
end
7) Before the sentence "You also need to tell Rails about...
add the sentence
"If you have any trails in your database, delete them, or add a valid location_id."
|
Anonymous |
|
|
Printed |
Page 127
Last paragraph, 1st sentence |
"Point your browser to the URL http://localhost:3000/trail."
should be:
"Point your browser to the URL http://localhost:3000/trails."
|
Anonymous |
|
|
Printed |
Page 130
Code of edit.rhtml |
<input id="trial_id" name="trail[id]" size="20" type="hidden" value="<%= @recipe.id %>" />
should be:
<input id="trail_id" name="trail[id]" size="20" type="hidden" value="<%= @trail.id %>" />
- trial_id should be trail_id
- @recipe.id should be @trail.id
|
Anonymous |
|
|
Printed |
Page 145
5th Bullet Point |
This refers to lines of code that don't exist in the code sample on the previous
page. There are only 13 LOC in the example, but the bullet refers to lines 14 and 15.
It Should be 11 and 13 not 13 and 15.
|
Anonymous |
|
|
Printed |
Page 152
Fourth paragraph, immediately after age example |
Incorrect wording. Change
Then, it sends the ifFalse: method to the (age > 16) expression. The first code block
is a parameter for ifFalse, and gets called if the expression evaluates to false.
to
This bit of code sends the binary ifFalse: ifTrue: message to the boolean returned by
the expression (age > 16). Both ifFalse: and ifTrue: take a code block as a
parameter.
|
Anonymous |
|
|
Printed |
Page 170
Last paragraph |
"It's not likely that the CLR will ever run as well on other platforms as it does on say, Linux."
should be:
"It's not likely that the CLR will ever run as well on other platforms as it does on Windows."
|
Anonymous |
|
|
Printed |
Page 174
Next to last paragraph |
"Gossling" should be "Gosling"
|
Anonymous |
|
|