The Ruby Programming Language by David Flanagan, Yukihiro Matsumoto The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated June 25, 2008. UNCONFIRMED errors and comments from readers: {26} 2.1.1; The line: x = "#This is a string" # And this is a comment ...should correctly read: x = "#This is a string" # And this is not a comment {26} 2.1.1; The line: y = /#This is a regular expression/ # Here's another comment ...should correctly read: y = /#This is a regular expression/ # And this is also not a comment {52} 2nd paragraph; The following sentence... After these lines have been read, the three string literals are concatenated into one. ...should also indicate that the the string concatenation is joined by newlines... After these lines have been read, the three string literals are concatenated into one, joined by newlines (\n). {53} End of 3.2.1.6; The code example... listing = Kernel.`(listcmd) ...is missing a closing `, but in either case (with or without a closing `) results in errors: >> listcmd = 'ls' => "ls" >> listing = Kernel.`(listcmd) `# had to enter closing ` to proceed SyntaxError: compile error (irb):46: unterminated string meets end of file from (irb):46 from :0 >> listing = Kernel.`(listcmd)` SyntaxError: compile error (irb):47: syntax error, unexpected tXSTRING_BEG, expecting $end from (irb):47 from :0 (238) Code; Redundant semicolon. (Also on page 239.) (240) 3rd paragraph from bottom; In "is it actually something different" transpose "it" and "is". (307) 3rd paragraph, first code section; Shows: "a".upto("e") {|c| print c } # Prints "abcde. upto iterator based on succ. Should show: ... # Prints "abcde" (321) Second code section; Says: 0.odd? # => false Should also say: 0.odd? # => false (Ruby 1.9) (322) First sentence; Says: The Float class defines a methods ... Remove the word "a". {335} in the middle; The nitems method of Array has been removed in Ruby 1.9. Delete the following two lines: [1,2,nil].nitems # => 2: number of non-nil elements [1,2,3].nitems {|x| x > 2} # => 1: # of elts matching block (Ruby 1.9) And replace them with these: [1,2,nil].nitems # => 2: number of non-nil elements (Ruby 1.8 only) [1,2,nil].count(nil) # => 1: # of nils (Enumerable method in Ruby 1.9) [1,2,3].count {|x| x > 2} # => 1: # of elts matching block (1.9) [364] 3rd paragraph; Output record separator is $\ not $/ (367) last paragraph in 9.8.1, first sentence; Change: This client code for use... To: This client code is for use... (390) Last bullet before 10.1; Change: ... SQL injection and similar attacks on with ... To: ... SQL injection and similar attacks with ...