コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Rubyにおける%記法と%iと%wの挙動

よくRubocopに直された状態になり、あれ、これ何と同じなんだっけ?ってなるのでメモ

%(パーセント)記法

%を使う記法はリファレンスにも%記法として紹介されている。

リテラル (Ruby 2.6.0) - %記法

%wと%W

小文字のダブリューで始まるとシンボルとして生成される

なお、大文字のダブリュー (%W) になると囲んだ内容が式展開される

value = "atai"

という感じにやると

%w(value #{value})
# => ["value", "\#{value}"]
%W(value #{value})
# => ["value", "atai"]

%iと%I

小文字のアイで始まるとシンボルとして生成される

なお、大文字のアイ (%I) になるとW同様に内容が式展開される

%i(value #{value})
#=> [:value, :"\#{value}"]

%I(value #{value})
#=> [:value, :atai]

参考リンク