Oli0li

Oli0li

Programming Ruby 3.2 (5th Edition):B3.0 Typos ("the the", "covert" and others)

First of all, thank you so much @noelrappin for writing this book, I am just starting with Ruby and this book is very helpful.
I just wanted to report some typos I came across on several pages in the book. Here they are:

“the the” → “the”

  • p 23: The username is not in any way connected to your Windows account—it’s a brand new account for the the Linux distribution you’ve installed using WSL.
  • p 98: In this case, we’ve attached separate methods to each of the the two instances, so calling introduction on each instance behaves differently.
  • p 117: The require call is at the the file level, and loads the module into the Ruby application as whole, the include call is at the class level, and adds the module’s behavior to the class in which it is included.
  • p 229: We can run our tests at this point with the same command, and we’ll see the test fail because the the TennisScorer class doesn’t exist.
  • p 255: You can find a list of the the tasks implemented by a Rakefile
  • p 314: Here’s what the the Finder class looks like with Sorbet annotations added:
  • p 455: For the three-dot form of a range, if the flip-flop is unset and expr1 is true, the flip-flop becomes set and the the flip-flop returns true.
  • p 468: If the object prefixed by a block responds to to_proc, then to_proc is invoked and the resulting proc passed to the the method
  • p 497: The sibling log methods log10 and log2 are also available and return the the log of the argument in the base of the method name.
  • p 518: The method delete! does the same thing, but mutates the receiving string and returns the the mutated string.
  • p 533: The block is then called with that 7 as the first argument and the the third element of the list—9—as the next argument.
  • p 547: The greater then/less than behavior is based only on the relationship between the the two sets, not the values of the elements.

“covert” → “convert”

  • p 491: The strptime method uses the format string to interpret the string and covert it to a Time.
  • p 502: Any other type as the first value, and Ruby attempts to convert it to a string using to_str and parses that string (per the documentation, it does not appear that Ruby attempts to covert to a number).

Other

  • p 104: In the previous example, we’d might want to make the helper methods private,
    because they shouldn’t be called from outside the InvoiceWriter class
    → I believe it should be either “would” or “might”

  • p 109: Now that we have methods, we need to talk about how different classes can share functionality defined by there methods, it’s time to talk about inheritance and modules.
    → should read “their methods”

  • p 114: The is a common idiom when using subclassing.
    → should read “This is”

First Post!

noelrappin

noelrappin

Author of Modern Front-End Development for Rails

Thanks! This is very helpful!

Where Next?

Popular Pragmatic Bookshelf topics Top

telemachus
Python Testing With Pytest - Chapter 2, warnings for “unregistered custom marks” While running the smoke tests in Chapter 2, I get these...
New
jesse050717
Title: Web Development with Clojure, Third Edition, pg 116 Hi - I just started chapter 5 and I am stuck on page 116 while trying to star...
New
mikecargal
Title: Hands-on Rust: question about get_component (page 295) (feel free to respond. “You dug you’re own hole… good luck”) I have somet...
New
swlaschin
The book has the same “Problem space/Solution space” diagram on page 18 as is on page 17. The correct Problem/Solution space diagrams ar...
New
AndyDavis3416
@noelrappin Running the webpack dev server, I receive the following warning: ERROR in tsconfig.json TS18003: No inputs were found in c...
New
jgchristopher
“The ProductLive.Index template calls a helper function, live_component/3, that in turn calls on the modal component. ” Excerpt From: Br...
New
akraut
The markup used to display the uploaded image results in a Phoenix.LiveView.HTMLTokenizer.ParseError error. lib/pento_web/live/product_l...
New
s2k
Hi all, currently I wonder how the Tailwind colours work (or don’t work). For example, in app/views/layouts/application.html.erb I have...
New
rainforest
Hi, I’ve got a question about the implementation of PubSub when using a Phoenix.Socket.Transport behaviour rather than channels. Before ...
New
New

Other popular topics Top

PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
AstonJ
Or looking forward to? :nerd_face:
503 15149 280
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New

Sub Categories: