Wir haben uns kürzlich bei meinem Job für einen Ruby Style Guide entschieden. Eines der Erlasse ist, dass keine Zeile breiter als 80 Zeichen sein sollte. Da es sich um ein Rails-Projekt handelt, haben wir häufig etwas längere Zeichenfolgen - dh " Benutzer X wollte Ihnen eine Nachricht zu Thing Y senden ", die nicht immer innerhalb der 80-Zeichen-Stilbeschränkung liegt.
Ich verstehe, dass es drei Möglichkeiten gibt, eine lange Zeichenfolge über mehrere Zeilen zu führen:
- HEREDOC
- % Q {}
- Tatsächliche Verkettung von Zeichenfolgen.
Alle diese Fälle erfordern jedoch mehr Rechenzyklen, was albern erscheint. String-Verkettung natürlich, aber für HEREDOC
und %Q
ich muss die Zeilenumbrüche über so etwas entfernen .gsub(/\n$/, '')
.
Gibt es eine reine Syntaxmethode, die gleichbedeutend damit ist, dass nur die gesamte Zeichenfolge in einer Zeile steht? Das Ziel ist natürlich, keine zusätzlichen Zyklen zu verbringen, nur weil ich möchte, dass mein Code etwas besser lesbar ist. (Ja, mir ist klar, dass man diesen Kompromiss viel machen muss ... aber für die Saitenlänge scheint das einfach albern.)
Update: Backslashes sind nicht genau das, was ich möchte, da Sie die Einrückung verlieren, was sich wirklich auf den Stil / die Lesbarkeit auswirkt.
Beispiel:
if foo
string = "this is a \
string that spans lines"
end
Ich finde das oben etwas schwer zu lesen.
EDIT : Ich habe unten eine Antwort hinzugefügt; Drei Jahre später haben wir jetzt den schnörkellosen Heredoc.
\n
Zeilenumbrüche beibehalten möchten oder nicht. Die Top-Antwort behält sie nicht - Ihre Antwort jedoch. Die Frage lautet "ohne Zeilenumbrüche zu entfernen" - die Beschreibung lautet jedoch "[...] Ich muss die Zeilenumbrüche entfernen."