読者です 読者をやめる 読者になる 読者になる

リテラルの %(percent) 記法

ruby

よく忘れる上にググりにくいのでメモっておく。
文字列や正規表現リテラルを簡潔に記述できる。

%(hoge #{foo} bar) # => "hoge Foo bar"
%Q(hoge #{foo} bar) # => "hoge Foo bar"
%q(hoge #{foo} bar) # => "hoge \#{foo} bar"
%x(echo hoge #{foo} bar) # => "hoge Foo bar\n"
%r(hoge #{foo} bar) # => /hoge Foo bar/
%w(hoge #{foo} bar) # => ["hoge", "\#{foo}", "bar"]
%W(hoge #{foo} bar) # => ["hoge", "Foo", "bar"]
%s(hoge #{foo} bar) # => :"hoge \#{foo} bar"
%Q(
hoge
-- #{foo}
bar

) # => "\nhoge\n-- Foo\nbar\n\n"
%w(hoge\ #{foo} bar) # => ["hoge \#{foo}", "bar"]

乱暴に分類すると

大文字は器が大きいので、式展開してくれると覚えるとよさそう。
%xと%rも、なんでもやってくれるよ!*1

詳しい説明は

るりまを読みましょう。下記リンクは ruby 1.8.7 用。
参考: リテラル

*1:結局、式展開しないのはq,w,sだけだった・・・