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)
#83799
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)
#83802
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)
#83687
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)
#83752
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)
#83759
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...