意外と知らなかったRubyのリテラルのアレ
ひまなときにぼーっと見てるとなかなかおもしろいのが出てきました。
文字列中の改行は合法
他の言語だと構文エラーになることが多いのですが、Rubyなら大丈夫です。
"途中で改行してもいい。 そう、Rubyならね。" #合法
複数行にわたって書くこともできます。 この場合含まれる改行文字は常に\nになります。 実際のソースファイルの改行コードとは無関係です。
ヒアドキュメント
デフォルトでは式展開されるのですが。
<<'EOS' EOS
と書くと式展開されなくなります。ダブルクオーテーションマークで囲った場合は式展開されます。ちなみにバッククオートで囲うとコマンドの実行になります。
公式のドキュメントはこちら
%記法
式展開したいけどダブルクオーテーションが大量に含まれるような文字列が欲しいとき、これを使ってみましょう。
%(文字列)
というふうにすることで、たとえば
%(<a href="#{link}" class="#{class_name}">#{text}</a>)
とかいう感じに使うとよさそうです。
%記法は他にもあります。
今回はすべてリテラルに関するお話でしたが、ほかにもぼーっと見ていると面白そうな書き方ができることに気付きそうです。