Recientemente decidimos en mi trabajo una guía de estilo rubí. Uno de los edictos es que ninguna línea debe tener más de 80 caracteres. Dado que este es un proyecto de Rails, a menudo tenemos cadenas que son un poco más largas, es decir, "El usuario X quería enviarte un mensaje sobre Cosa Y " que no siempre se ajusta al límite de estilo de 80 caracteres.
Entiendo que hay tres formas de hacer que una cadena larga abarque varias líneas:
- HEREDOC
- % Q {}
- Concatenación de cadenas real.
Sin embargo, todos estos casos terminan tomando más ciclos de cálculo, lo que parece una tontería. La concatenación de cadenas obviamente, pero para HEREDOC
y %Q
tengo que quitar las nuevas líneas, a través de algo así .gsub(/\n$/, '')
.
¿Existe una forma de sintaxis pura para hacer esto, que es equivalente a tener toda la cadena en una línea? El objetivo es, obviamente, no gastar ningún ciclo adicional solo porque quiero que mi código sea un poco más legible. (Sí, me doy cuenta de que tienes que hacer mucho eso ... pero para la longitud de la cuerda, esto parece una tontería).
Actualización: las barras invertidas no son exactamente lo que quiero porque pierdes la sangría, lo que realmente afecta el estilo / legibilidad.
Ejemplo:
if foo
string = "this is a \
string that spans lines"
end
Encuentro lo anterior un poco difícil de leer.
EDITAR : agregué una respuesta a continuación; tres años después ahora tenemos el heredoc ondulado.
\n
caracteres de nueva línea o no. La respuesta principal no los mantiene, pero su respuesta sí. La pregunta dice "sin quitar nuevas líneas", pero la descripción dice "[...] tengo que quitar las nuevas líneas".