文字列
%
, %Q
%
および%Q
は式展開できる文字列を表現します。
ダブルクォーテーションで文字列を囲んだ"文字列"
と同等になります。
%(a b c)
# => "a b c"
a, b, c = 1, 2, 3
%(#{a} #{b} #{c})
# => "1 2 3"
%Q(#{a} #{b} #{c})
# => "1 2 3"
%q
%q
は%
や%Q
と同様に文字列を表現しますが、式展開ができない点で異なります。
シンブルクォーテーションで文字列を囲んだ'文字列'
と同等になります。
%q(a b c)
# => 'a b c'
a, b, c = 1, 2, 3
%q(#{a} #{b} #{c})
# => "\#{a} \#{b} \#{c}"
配列
%W
%W
はスペースで区切った文字列を含む配列を表します。
a, b, c = 1, 2, 3
%W(#{a} #{b} #{c})
# => ["1", "2", "3"]
%w
%w
は%W
と同様に配列を表しますが、式展開ができない点で異なります。
a, b, c = 1, 2, 3
%w(a b c)
# => ['a', 'b', 'c']
%I
%I
はシンボルの配列を表現します。
a, b, c = 1, 2, 3
%I(#{a} #{b} #{c})
#=> [:"1", :"2", :"3"]
%i
%i
は%I
と同様にシンボルの配列を表しますが、式展開ができない点で異なります。
a, b, c = 1, 2, 3
%i(a b c)
# => [:a, :b, :c]
シンボル
%s
%s
はシンボルを表します。
%s(a b c)
# => :"a b c"
コマンド
%x
%x
はコマンドを実行できます。
バッククォーテーションで囲んだ`some command`
と同等です。
%x(date)
# => "Thu Oct 20 18:25:04 JST 2022\n"
正規表現
%r
%r
は正規表現を表します。
%r(^http://)
# => /^http:\/\//