【Ruby】%(パーセント)記法を覚える
はじめに
Rubyのコードを読んでいてたまに出てくる「%記法」(パーセント記法)について、毎回調べなくて良いように、簡単にまとめたいと思います。
記法 | 意味 | 式展開 |
---|---|---|
%q | シングルクウォート文字列 | × |
%、%Q | ダブルクォート文字列 | ○ |
%w | 文字列の配列 | × |
%W | 文字列の配列 | ○ |
%i | シンボルの配列 | × |
%I | シンボルの配列 | ○ |
%s | シンボル | × |
%x | コマンド出力 | - |
%q
シングルクウォート文字列。
式展開されない。
language = 'Ruby' puts %q(#{language} is fun) # => #{language} is fun
%、%Q
ダブルクォート文字列。
式展開される。
language = 'Ruby' puts %(#{language} is fun) # => Ruby is fun puts %Q(#{language} is fun) # => Ruby is fun
%w
配列。
要素が文字列で、要素間は空白区切り。式展開されない。
language = 'Ruby' %w(#{language} Java Python) # => ["\#{language}", "Java", "Python"]
%W
配列。
要素が文字列で、要素間は空白区切り。式展開される。
language = 'Ruby' %W(#{language} Java Python) # => ["Ruby", "Java", "Python"]
%i
配列。
要素がシンボルで、要素間は空白区切り。式展開されない。
language = 'Ruby' %i(#{language} Java Python) # => [:"\#{language}", :Java, :Python]
%I
配列。
要素がシンボルで、要素間は空白区切り。式展開される。
language = 'Ruby' %I(#{language} Java Python) # => [:Ruby, :Java, :Python]
%s
シンボル。 式展開されない。
%s(Ruby) # => :Ruby
%x
コマンド出力。 バッククウォート(`)で囲む場合と同じ。
puts %x(date) # => 2019年 1月16日 水曜日 12時20分10秒 JST