2010-08-23 22 views
19

Estoy leyendo un archivo que tiene código fuente. Necesito agregar 2 espacios antes de cada línea. Esto es lo que estoy haciendo.Cómo me uno por la nueva línea

data = read_file 
data.split(/\n/).collect {|l| ' ' + l}.join('\n') 

Sin embargo, después de unir cuando lo hago, se imprime \ n literalmente y no es un salto de línea. ¿Cómo arreglo eso?

Respuesta

53

Necesita utilizar una comilla doble (") en lugar de una comilla simple. Así sustituir este:

'\n' 

con esto:

"\n" 

leer mas sobre esto here.

Es posible que desee utilizar \r\n lugar si desea que sus terminaciones de líneas para ser CRLF en lugar de LF (algunos editores de Windows, como el Bloc de notas no verán un salto de línea LF).

+0

¿No sería 'print "\ n" 'en la impresión de rubí' \ r \ n' en máquinas Windows, a menos que establezca la salida al modo binario? –

-9

que era capaz de conseguir finalmente que esto funcione para mi aplicación mediante el uso de

"<br>" 
+3

Si bien esta respuesta puede ser apropiada si el problema involucra a HTML, esta pregunta no menciona el HTML. –

Cuestiones relacionadas