📝

Ruby の %w で改行コードを挿入したい場合は %W を使う

に公開

%w 記法でつぎのように改行を含めたかったんですがこれだと改行ではなくて単なる \n が文字列として埋め込まれます。

pp %w(hoge foo\nbar)
# => ["hoge", "foo\\nbar"]

こういうケースはどう対応すればいいんだろうなーと色々と試してみたら %W であれば \n が改行コードとして定義できました。

pp %W(hoge foo\nbar)
# => ["hoge", "foo\n" + "bar"]

%W って式展開が埋め込めるようになるだけだと思っていたんですが特殊文字も定義できるんですね知らんかった。
"" と同等な感じなのかな。

GitHubで編集を提案

Discussion