ruby - unescape - ¿Cómo agregar una nueva línea adicional con 'pone' sin pegar el carácter de nueva línea en la cadena?




sumar strings ruby (6)

¿Crees que esto se ve mejor?


puts "Hello"+$/

</evil>

Si yo digo

puts "Hello"

y decide agregar una nueva línea adicional que necesito para hacer esto:

puts "Hello\n"

Tener este carácter en la cadena es feo. ¿Hay alguna manera de hacer esto sin contaminar mi cadena?


A menudo me encuentro agregando una constante en ruby ​​para contener estos caracteres

NEW_LINE = "\n"

puts "Hello" + NEW_LINE

Creo que es más legible y facilita el cambio a todos los caracteres de nueva línea si alguien alguna vez decide separar cada línea por algo más en una fecha posterior.


La razón por la que Ruby usa "\ n" para una nueva línea es porque se basa en C. Ruby MRI está escrito en C e incluso JRuby está escrito en Java, que se basa en C ++ que se basa en C ... ¡se entiende la idea! Entonces, todos estos lenguajes de estilo C usan el "\ n" para la nueva línea.

Siempre puede escribir su propio método que actúe como las entradas pero agrega nuevas líneas basadas en un parámetro al método.


Lo que quiere fijo: entrada para script:

puts "Hello there"
puts "Goodbye"

Salida del script:

Hello thereGoodbye

Arreglo para el problema: Entrada para script:

puts "Hello there"
puts
puts "Goodbye"

Salida del script:

Hello there
Goodbye

solo puedes escribir

p "Hello"
p 

Eso debería funcionar tan bien si quieres que sea breve y simple.


puts "Hello",""




newline