small medium large xlarge

The latest version of the book is B2.0, released 19 days ago. If you've bought a PDF of the book and would like to update it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: B2.0 (21-Oct-18)
PDF page: 72
This phrase is not very clear because of the "(unlike Ruby)" part. Maybe remove ' (unlike Ruby)" or rephrase it a bit? > When you use arguments in ...more...
  • Reported in: B2.0 (21-Oct-18)
PDF page: 87
> (Crystal doesn’t currently support tail call optimization for recursion, so while you can make recursion go a long way, you’ll eventually find limit...more...
  • Reported in: B1.0 (21-Sep-18)
PDF page: 97

At the end of the section on modules, the variable is named 'min'. Should this be 'mine' for consistancy?--Lewis

Simon St.Laurent says: We didn't use 'mine' elsewhere, so I'm not sure what consistency this is trying to achieve.
  • Reported in: B2.0 (08-Oct-18)
PDF page: 121
"The first is the location of the standard library, which in Linux is at /opt/crystal/src ." (Also in the blue "(i) Prelude" sidebar, same page.) T...more...
  • Reported in: B2.0 (11-Oct-18)
PDF page: 121
Follow-up to erratum #83752 -- In referencing source code files, it would also be good to mention repository github(dot)com(slash)crystal-lang(slash)c...more...