About Idiosyncratic Ruby
Ruby is not only optimized for developer happiness, but also for writing concise one-liners. The language is extremely expressive, but this comes at a price: Ruby's grammar definition is more than 13 000 lines long, the language is at its limits, and there is not a single editor or syntax highlighter which actually highlights Ruby correctly.
Idiosyncratic != Bad
Ruby is still a great tool, but it is advisable to know your tools well. You should be able to work with Ruby's meta programming API for methods, although it is not optimal. It is also good to know about unusual ways of creating local variables. Having a good understanding of Ruby's low level and its edge cases can help you to concentrate on solving the real problems. It also helps shaping new best practices. And last but not least, can also be great fun.
What You Will Get
- Learn how to impress your co-workers with obscure Ruby tricks
For example: Advanced regex magic
- Get a lot of tables comparing things and telling you what to use
For example: A comprehensive overview of Ruby's errors
- Learn about lesser-known Ruby command-line options
For example: An option to remove garbage
- Master Ruby's less common grammar features
For example: All 210 different syntaxes to create strings in Ruby
Ruby Moves On
The aim of Idiosyncratic Ruby is to document lesser-known features of Ruby as a series of blog posts. All the content is on GitHub, enabling it to live beyond its publish date.
Last update to an article: December 25, 2022
- Idiosyncratic Ruby Quiz: The fun quiz that takes place every so often at RUG::B
- stdgems.org: Documentation of standard library gem versions
- relaxed.ruby.style: A ruby style guide patch for RuboCop
- character.construction: More about Unicode
Jan Lelis is a freelance developer and he is ruining his Ruby style since late 2009. Back then, he was very unhappy with the IRB command-line experience. That is why he ended up writing the Irbtools gem, which makes using IRB more enjoyable.
- Atom / Direct Feed
- idiosyncratic-ruby.com / GitHub
- @email@example.com / Mastodon