共通事項
- 囲む文字(区切り文字)は
!~!
,(~)
,[~]
,%~%
,&~&
などいろんな記号が使える - %の次に来る文字は小文字、大文字がある
- 大文字は式展開や改行文字などを含められる
- wは文字列、iはシンボルの配列を作る
%w
, %W
文字列の配列を作る
%w(hoge foo bar baz) => ["hoge", "foo", "bar", "baz"]
文字列にスペースを含めたい場合はバックスラッシュでエスケープする。
%w(big\ muscle big\ legs big\ nose) => ["big muscle", "big legs", "big nose"]
式展開や改行文字などを含める場合は%W
と大文字のWを使う。
muscle = '筋肉' ga = 'が' want = '欲しくて欲しくてたまらない' %W(#{muscle} #{ga} #{want}) => ["筋肉", "が", "欲しくて欲しくてたまらない"]
小文字のwだと式展開はされない。
%w(#{muscle} #{ga} #{want}) => ["\#{muscle}", "\#{ga}", "\#{want}"]
%i
, %I
シンボルの配列を作る
%i(hoge foo bar baz) => [:hoge, :foo, :bar, :baz]
大文字のI
を使うと式展開が使える。
muscle = '筋肉' ga = 'が' want = '欲しくて欲しくてたまらない' %I(#{muscle} #{ga} #{want}) => [:筋肉, :が, :欲しくて欲しくてたまらない]
文字列を作る場合
ちなみに、配列ではなく普通の文字列を%記法で作る場合。 配列を作るのと同様、区切り文字には任意の記号が使える。
%q
シングルクォートで囲む
puts %q(筋肉が欲しくて欲しくてたまらない) => 筋肉が欲しくて欲しくてたまらない
'
や"
をエスケープなしで記述できる。
%Q
ダブルクォートで囲む(式展開が使える)
str = %q(筋肉が欲しくて欲しくてたまらない) puts %Q(#{str}) => 筋肉が欲しくて欲しくてたまらない
%!~!
も同じ意味になる。
puts %!#{str}! => 筋肉が欲しくて欲しくてたまらない