
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
Author of Modern Front-End Development for Rails
Thanks! This is very helpful!
Popular Pragmatic Bookshelf topics

Some minor things in the paper edition that says “3 2020” on the title page verso, not mentioned in the book’s errata online:
p. 186 But...
New

Hi Brian,
Looks like the api for tinydb has changed a little. Noticed while working on chapter 7 that the .purge() call to the db throws...
New

I thought that there might be interest in using the book with Rails 6.1 and Ruby 2.7.2. I’ll note what I needed to do differently here.
...
New

I ran this command after installing the sample application:
$ cards add do something --owner Brian
And got a file not found error:
Fil...
New

Running mix deps.get in the sensor_hub directory fails with the following error:
** (Mix) No SSH public keys found in ~/.ssh. An ssh aut...
New

I’m under the impression that when the reader gets to page 136 (“View Data with the Database Inspector”), the code SHOULD be able to buil...
New

I found an issue in Chapter 7 regarding android:backgroundTint vs app:backgroundTint.
How to replicate:
load chapter-7 from zipfile i...
New

When installing Cards as an editable package, I get the following error:
ERROR: File “setup.py” not found. Directory cannot be installe...
New

Hi,
I am getting an error I cannot figure out on my test.
I have what I think is the exact code from the book, other than I changed “us...
New

Modern front-end development for Rails, second edition - Struggling to get the first chapter to work
After running /bin/setup, the first error was: The foreman' command exists in these Ruby versions: That was easy to fix: gem install fore...
New
Other popular topics

If it’s a mechanical keyboard, which switches do you have?
Would you recommend it? Why?
What will your next keyboard be?
Pics always w...
New

SpaceVim seems to be gaining in features and popularity and I just wondered how it compares with SpaceMacs in 2020 - anyone have any thou...
New

You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
New

Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New

Biggest jackpot ever apparently! :upside_down_face:
I don’t (usually) gamble/play the lottery, but working on a program to predict the...
New

A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New

If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol:
bre...
New

Author Spotlight
Mike Riley
@mriley
This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New

Author Spotlight
Erin Dees
@undees
Welcome to our new author spotlight! We had the pleasure of chatting with Erin Dees, co-author of ...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /rails
- /js
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /java
- /haskell
- /onivim
- /svelte
- /typescript
- /crystal
- /c-plus-plus
- /kotlin
- /tailwind
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /ash
- /opensuse
- /centos
- /php
- /deepseek
- /html
- /scala
- /zig
- /sublime-text
- /debian
- /textmate
- /nixos
- /lisp
- /agda
- /react-native
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /manjaro
- /spring
- /django
- /diversity
- /lua
- /nodejs
- /julia
- /slackware
- /c
- /markdown