Percent Notation
We already know that that we can create strings using the percent notation:
%(<foo="bar's ton">) is perfectly fine Ruby.
Modifier
But there is more. The curly brackets ({}) are interchangable with most unicode characters (e.g. square brackets[]).
Furthermore, you can add a "
  modifier
  
    Show archive.org snapshot
  
" to the percent notation to control the return type of the expression:
%s	Symbol
%i	Array of Symbols
%q	String
%w	Array of Strings
%r	Regular Expression
%x	Backtick (capture subshell result)*
Examples:
%i[foo bar] 
=> [:foo, :bar]
%q[foo bar] 
=> "foo bar"
Interpolation
To interpolate a dynamic value, swap the modifier with the corresponding uppercase letter:
%I[a list of #{'inter'}polated symbols]
=> [:a, :list, :of, :interpolated, :symbols]
*Please keep in mind that we'd prefer Open3 for shell commands.
Posted by Michael Leimstädtner to makandra dev (2018-10-23 13:03)