By Developers, For Developers
| PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
|---|---|---|---|---|---|
| 45 | TYPO | Perhaps there is a superfluous ‘it’ in this phrase at the bottom of the page? “But it’s my fortune teller, and I say it it’s less fortuitous. So there.” | 2007-03-26 | ||
| 98 | OK | When you copy the code samples and paste it in a text editor, all the single-quoted strings have a leading space erroneously inserted that require manually re-editing of them all. For example (from page 98): require ’ yaml’ # Told you it was easy. etc. I didn’t notice this immediately and wondered why Ruby couldn’t find ’ yaml’. :) It would be nice if you could just copy and paste and didn’t have to manually fix all those. As far as I can tell, it only happens with single-quoted strings, not double-quoted ones. ??? (Otherwise — great book and awesome job you guys are doing.) (Dave says: PDFs are formatted text—rather than cut and paste from it, you should probably just download the code from the book’s web site) | 2006-03-06 | ||
| 128 | OK | This is nitpicky, but in the 3rd paragraph, the author claims that methods are not objects. However, in Ruby methods are objects, you just have to use some magic to get at them. More to the point, he suggests that methods cannot be passed to other methods. However, this is untrue as you can use method(:meth_name) to gain access to the method object. This object can then be passed to other methods. (Dave says: actually, Chris is correct. Methods are not objects. They can, however, be wrapped in objects, which is what method() and unbound_method() do.) | 2006-03-06 | ||
| 80 | TYPO | “5. Then find the largest two, and see whether they look like like fun to play on.” Superfluous “like”. Should be: “5. Then find the largest two, and see whether they look like fun to play on.” | 2007-03-26 | ||
| 104 | OK | not sure whether it’s a pun because the phrase comes in the middle of a ‘string’ explanation but I’m French and therefore I had to point out that the expression is ‘et voilà’ and not the erroneous ‘et viola’. Great book anyway. (Chris says: ’tis a pun) | 2007-03-26 | ||
| 103 | ERROR | Hi - not sure of this is an error, exactly. But when I run the Photo renaming utility, I get This is using a USB card reader on a Powerbook G4 on OSX 10.4.6 | |||
| 15 | OK | Following the instructions to check Ruby version in Command Prompt… I enter “ruby -v” at the prompt and instead of seeing a variation on: ruby 1.8.2 (2004-12-25) [i386-mswin32] I got: C:\\Documents and Settings\\tb18711>ruby -v The install was successful…I have New > Ruby Program in my contextual menu for folders, and the SciTE is the default app for the Edit option on the .rb contextual menu. This is a work computer, where you generally have to have admin rights to install new software. Maybe that has something to do with this problem, but it is not mentioned in the tutorial. (Dave says: Ruby must not be in your path) | 2007-03-26 | ||
| 83 | OK | “This code works fine because the continent does not border the edge of the world. If it did, then when we send our little guys out (that is, call continent_size on a new tile), some of them would fall off the edge of the world (that is, call continent_size with invalid values for x and/or y), which would probably crash on the very first line of the method.” No error occurs when the ‘continent’ is extended to the ‘edge of the world.’ (Chris says: It doesn’t crash for every value, but it crashes for some. (Put a | 2007-03-26 | ||
| 12 | TYPO | 2.4 A Few Things to Try | 2007-03-26 | ||
| 37 | TYPO | Though the code: puts(rand(101).to_s+’ % chance of rain,’ ) works just fine, it doesn’t match the spacing convention used elsewhere. If some spaces were added, it would fit the pattern: puts(rand(101).to_s + ’ % chance of rain,’ ) | 2007-03-26 | ||
| 45 | OK | In the paragraph: Branching is kind of like coming to a fork in the code: do we take the | 2007-03-26 | ||
| 38 | TYPO | In the floating caption in the margin | 2007-03-26 | ||
| 86 | OK | In the continent_size problem, you have transposed your array values. If you try continent_site(world, 1, 4) with your world array, your code fails. Instead of “if world[y][x] != ‘land’” and “world[y][x] = ‘counted land’” you should use “world[x][y]” Note that you have transposed the passed values. [x] is the initial array value and [y] is the inner array value. (Chris says: In fact, if you use his values (1, 4), you get 0 as | 2007-03-26 | ||
| vii | TYPO | On first page of Introduction, third paragraph begins “It has been more than decade.” This should read “It has been more than a decade” | |||
| 12 | TYPO | In the third bullet-point under “2.4 A Few Things to Try”: | |||
| 36 | TYPO | The marginal comment on this page is garbled: Huh? | |||
| 1 | SUGGEST | If anyone’s interested, I put up solutions to the problems in the book, right here: learntoprogramanswers.blogspot.com | |||
| 38 | TYPO | The description of the code says “Note that I used rand(101) to get numbers from 0 to 100 and that rand(1) always returns 0.” He’s making a point there about using rand(100) would give you numbers up to 99. However, in the code example he’s referring to, (bottom of the previous page) he actually uses rand(100) in the example he’s referring to … which makes this comment quite funny: “Not understanding the range of possible return values is the biggest mistake I see people make with rand, even professional programmers, and even in finished products you can buy at the store.” Just goes to show that it’s not always a lack of comprehension at fault. | |||
| 39 | TYPO | I believe that “Suffice it to say” should be “Suffice to say”. | |||
| 71 | SUGGEST | This book is my first foray into any programming language, and I’m finding it extremely readable and helpful. Thank you! The code example about “tough_var” being defined locally didn’t strike me as meaningful at first… until I played around with the order of the code. The impact of local definition was made clear when I ordered it this way: —code— def little_pest tough_var little_pest tough_var This defines the variable shown to be modified before the local method, which to my admittedly inexperienced way of thinking is a bigger deal. Since I had to rearrange the code to get the gist of the lesson, thought you might like to know. Maybe that shows that by this point in the book, you’ve already equipped me with enough knowledge to be able to figure out through experimentation. :) Thanks again, I’m loving the book. | |||
| 15 | ERROR | You have us type: puts ’ 12’ + ’ 12’ Because of the space after the third quote, the output should read 12 12 but in the book it says 1212. The same error occurs below in the statement: puts ’ 2’ * 5 | |||
| 64 | TYPO | reads: “what I want you do to with each” | |||
| 161 | TYPO | Under “99 Bottles of Beer on the Wall >How you could do it:” There is no solution. It just says: #<NameError: undefined local variable or method ‘’ for # | |||
| 161 | TYPO | The how you could do it section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 162 | TYPO | Under the deaf grandma solution, the “how you could do it” section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 163 | TYPO | Under deaf grandma extended - The how you could do it section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 164 | TYPO | Under the leap years section - The how you could do it section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 164 | TYPO | Under the leap years section - The how you could do it section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 165 | TYPO | Under building and sorting an array - The how you could do it section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 166 | TYPO | Under table of contents revisited - The how you could do it section looks to be pulling some code from somewhere but is erroring out with “#<NameError: undefined local variable or method ‘’ for #” | |||
| 36 | TYPO | There is a side note that reads: “Modulus, much like “…but they it…” is a typo, I believe. Thanks for a great book! |