Aufteilen langer Zeichenfolgen in mehreren Zeilen in Ruby ohne Entfernen von Zeilenumbrüchen
Wir haben uns kürzlich bei meinem Job für einen Ruby Style Guide entschieden. Ein Edikt ist, dass keine Zeile länger als 80 Zeichen sein darf. Da es sich um ein Rails-Projekt handelt, haben wir oft etwas längere Zeichenfolgen - d. H.Benutzer X wollte dir eine Nachricht über Thing Y sendenmsgstr "das passt nicht immer in die Begrenzung von 80 Zeichen.
Ich verstehe, dass es drei Möglichkeiten gibt, einen langen String über mehrere Zeilen zu führen:
HEREDOC% Q {}Tatsächliche String-Verkettung.In all diesen Fällen sind jedoch mehr Berechnungszyklen erforderlich, was albern erscheint. Stringverkettung offensichtlich, aber fürHEREDOC
und%Q
Ich muss die Zeilenumbrüche über so etwas wie entfernen.gsub(/\n$/, '')
.
Gibt es eine reine Syntaxmethode, um dies zu tun, die dem einfachen Einzeilen des gesamten Strings entspricht? 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 Sie diesen Kompromiss sehr viel machen müssen ... aber für die Länge der Zeichenkette scheint dies einfach albern.)
Update: Backslashes sind nicht genau das, was ich will, weil Sie die Einrückung verlieren, was den Stil und die Lesbarkeit wirklich beeinträchtigt.
Beispiel:
<code>if foo string = "this is a \ string that spans lines" end </code>
Ich finde das oben ein bisschen schwer zu lesen.
BEARBEITEN: Ich habe unten eine Antwort hinzugefügt; Drei Jahre später haben wir nun den schnörkellosen Heredoc.