Di recente, nel mio lavoro, abbiamo deciso di fare una guida allo stile rubino. Uno degli editti è che nessuna linea dovrebbe essere più larga di 80 caratteri. Dato che si tratta di un progetto Rails, spesso abbiamo stringhe un po 'più lunghe, ovvero "L' utente X voleva inviarti un messaggio su Thing Y " che non rientra sempre nel limite dello stile di 80 caratteri.
Capisco che ci sono tre modi per avere una stringa lunga su più righe:
- heredoc
- % Q {}
- Concatenazione di stringhe effettiva.
Tuttavia, tutti questi casi finiscono per richiedere più cicli di calcolo, il che sembra sciocco. Concatenazione di stringhe ovviamente, ma per HEREDOC
e %Q
devo eliminare le nuove righe, tramite qualcosa di simile .gsub(/\n$/, '')
.
Esiste un modo di sintassi puro per fare ciò, che equivale a avere l'intera stringa su una riga? L'obiettivo è, ovviamente, di non spendere altri cicli solo perché voglio che il mio codice sia leggermente più leggibile. (Sì, mi rendo conto che devi fare molto quel compromesso ... ma per la lunghezza della corda, questo sembra sciocco.)
Aggiornamento: le barre rovesciate non sono esattamente ciò che voglio perché perdi il rientro, il che influisce davvero sullo stile / leggibilità.
Esempio:
if foo
string = "this is a \
string that spans lines"
end
Trovo quanto sopra un po 'difficile da leggere.
EDIT : ho aggiunto una risposta di seguito; tre anni dopo ora abbiamo l'ereditarietà agitata.
\n
o meno i caratteri di nuova riga. La risposta migliore non li mantiene, eppure la tua risposta lo fa. La domanda dice "senza togliere le righe", ma la descrizione dice "[...] devo eliminare le righe".