Rubyで使われる%
(パーセント)を使った記法をよく忘れるのでメモがてらまとめてみる。
まとめ
%記法 | % を使わない場合の書き方 |
---|---|
% , %Q
|
"" (ダブルクオート) |
%q |
'' (シングルクオート) |
%w |
[] (文字列配列) |
%W |
[] (文字列配列・式展開あり) |
%i |
[] (シンボル配列) |
%I |
[] (シンボル配列・式展開あり) |
%x |
`` (コマンド実行) |
%s |
: (シンボル) |
%r |
// (正規表現) |
%の後には角括弧(`[]`)丸括弧(`()`)や波括弧(`{}`)などの記号が使えます
文字列表現系
%
, %Q
記法内で式展開することが可能です。
> %(a b c)
# => "a b c"
> a, b, c = 1, 2, 3
> %Q(#{a} #{b} #{c})
# => "1 2 3" # 式展開される
%q
こちらは式展開ができないバージョン。
> %q(a b c)
# => "a b c"
> a, b, c = 1, 2, 3
> %q(#{a} #{b} #{c})
# => "\#{a} \#{b} \#{c}" # 式展開されていない
配列表現系
%w
記法内でスペース区切ったそれぞれが文字列のArrayとなる。
> %w(a b c)
=> ["a", "b", "c"]
%W
大文字のほうは記法内で式展開が可能。
> a, b, c = 1, 2, 3
> %W(#{a} #{b} #{c})
#=> ["1", "2", "3"]
%i
こちはシンボルのArrayとなる。
> %i(a b c)
# => [:a, :b, :c]
%I
式展開可能なシンボルArray。
> a, b, c = 1, 2, 3
> %I(#{a} #{b} #{c})
#=> [:"1", :"2", :"3"]
コマンド実行
%x
> %x(date)
# => "Sun Jan 11 01:01:52 JST 2015\n"
> `date`
# => "Sun Jan 11 01:01:54 JST 2015\n"
シンボル
一つのシンボルとして解釈させる。
%s
> %s(a b c)
# => :"a b c"
正規表現
正規表現。URLの正規表現を作るときなど、%記法を使ったほうがラクで良い。
%r
> %r(^http://)
# => /^http:\/\//