私は最近、私の仕事でルビースタイルガイドに決めました。禁忌の1つは、どの行も80文字を超えてはならないということです。これはRailsプロジェクトであるため、文字列が少し長くなることがよくあります。つまり、「ユーザーXがThing Yについてのメッセージを送信したかった」というもので、常に80文字のスタイル制限に収まりません。
長い文字列を複数行に分割するには3つの方法があることを理解しています。
- HEREDOC
- %Q {}
- 実際の文字列連結。
ただし、これらすべてのケースで、より多くの計算サイクルが必要になり、ばかげているように見えます。文字列の連結は当然ですが、改行を取り除かなければHEREDOC
なり%Q
ません.gsub(/\n$/, '')
。
これを行うための純粋な構文方法はありますか?これは、文字列全体を1行に収めるのと同じです?目標は、明らかに、コードをもう少し読みやすくするために余分なサイクルを費やさないことです。(はい、私はあなたがそのトレードオフをたくさんしなければならないことを理解しています...しかし、文字列の長さのために、これはばかげているように見えるだけです。)
更新:インデントがなくなるため、バックスラッシュは私が望んでいるものとは異なります。インデントはスタイル/読みやすさに影響を与えます。
例:
if foo
string = "this is a \
string that spans lines"
end
上記は少し読みにくいです。
編集:私は以下の回答を追加しました。3年後、波状のヒアドキュメントができました。
\n
改行文字を保持するかどうかは不明です。一番上の答えはそれらを保持しません—しかし、あなたの答えは保持します。質問には「改行を削除せずに」と書かれていますが、説明には「[...]改行を削除する必要があります」と書かれています。