1988

Useless Ruby Tricks

Ruby is a lovely language, with a lot of convenience functions that make it easy to read and pleasant to type. But over the years, it’s also added some wacky extra bits. Let’s explore the (rightfully) forgotten hallways of Ruby syntax.

% syntax

% syntax makes it easy to create arrays (%w(like this)), regexes (%r|match|), strings, and more. For a mostly-complete rundown, see this page. But did you know that pretty much any punctuation is allowed, not just parentheses or curly braces? Try it in irb:

> %|something| + %@wicked@ + %%this% + %*way* + %$comes$
"somethingwickedthiswaycomes"

Here’s the real kicker: spaces work as delimiters, too.

> % no  + %!way!
"noway"

String interpolation without curly braces

The standard way to do string interpolation inside a Ruby string is "#{this}". Most people don’t know that there’s even another way.

Instance variables, class variables, and globals don’t require the curly braces:

> @foo = "foo"
> @@bar = "bar"
> "#@foo #@@bar #$VERBOSE"
"foo bar false"

Confuse your coworkers today!

Got any more?

Do you have any more silly Ruby tricks? Let me know: @gabebw.