私たちは最近、私の仕事でルビー スタイル ガイドを採用することに決めました。勅令の 1 つは、どの行も 80 文字を超えてはならないというものです。これは Rails プロジェクトであるため、少し長い文字列がよくあります。たとえば、「ユーザー X がモノ Y についてのメッセージをあなたに送りたいと思っています」という文字列は、必ずしも 80 文字のスタイル制限内に収まるとは限りません。
長い文字列を複数行にまたがるには、次の 3 つの方法があることを理解しています。
- ヘレドック
- %Q{}
- 実際の文字列連結。
ただし、これらのケースはいずれも最終的にはより多くの計算サイクルが必要になるため、ばかげているように思えます。文字列の連結は明らかですが、 forHEREDOC
と%Q
のような方法で改行を削除する必要があり.gsub(/\n$/, '')
ます。
これを行うための純粋な構文の方法はありますか?これは、文字列全体を 1 行に配置するのと同じですか? 目標は、明らかに、コードをもう少し読みやすくしたいという理由だけで余分なサイクルを費やさないことです。(はい、そのトレードオフをたくさんしなければならないことは理解しています...しかし、文字列の長さについては、これはばかげているようです。)
更新: インデントが失われ、スタイル/読みやすさに実際に影響するため、バックスラッシュは私が望むものではありません。
例:
if foo
string = "this is a \
string that spans lines"
end
上の文章は読みにくいと思います。
編集:以下に回答を追加しました。3 年後、波打ったヒアドキュメントができました。