私は最近、自分の仕事でルビースタイルのガイドを決めました。勅令の1つは、80文字を超える行がないことです。これはRailsプロジェクトなので、文字列の長さが少し長くなっていることがよくあります。つまり、「ユーザーXは80文字のスタイル制限内に収まるとは限らない」というメッセージを送信したかったのです。改行を取り除かずにRubyの複数の行に長い文字列を分割する
- ヒアドキュメント
- %のQ {}
- 実際の文字列連結:
Iは、長い文字列のスパン複数の行を持つ3つの方法があります理解します。
しかし、これらのケースはすべて、計算サイクルが増えてしまい、愚かなようです。文字列連結は明らかですが、HEREDOCと%Qでは、.gsub(/ \ n $ /、 '')のような方法で改行を取り除かなければなりません。
これを行うための純粋な構文方法はありますか?それは1行にすべての文字列を入れることと同じですか?目標は明らかに、コードを少しだけ読みやすくするために余分なサイクルを費やさないことです。 (はい、私はあなたがそのトレードオフをたくさん作るために持っていることを実感...しかし、文字列の長さのために、これは単なる愚かなようです。)
更新:あなたは本当にインデントを、失うため バックスラッシュは私が望んでいないされている正確に何スタイル/読みやすさに影響します。
例:
if foo
string = "this is a \
string that spans lines"
end
私は読みにくい少し上に見つけます。
EDIT:以下の回答を追加しました。 3年後、私たちは今、不思議なヘレドックを持っています。
を生成
: – Cheezmeister
[Ruby:連結なしで複数行の文字列を書くことはできますか?](http://stackoverflow.com/questions/2337510/ruby-can-i-write-multi-line-string-with-no- – givanse
改行文字を '\ n'にするかどうかは不明です。一番上の答えはそれらを保持しませんが、あなたの答えはあります。問題は「改行を取り除くことなく」と書いてありますが、「[...]私は改行を取り除く必要があります。 –