Hack Your Design!

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

参考

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