Hack Your Design!

Rubyの %(パーセント) を使った記法まとめ

(image)Rubyの %(パーセント) を使った記法まとめ

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:\/\//

参考

  • このエントリーをはてなブックマークに追加