Programación | Aprendiendo Ruby 0001.2

Dentro de puts o print podemos usar algo así como caracteres no imprimibles, por ejemplo:

Juguemos con Ruby

Me auto-inventé el siguiente ejercicio:

Le pediremos al usuario algunos datos y con el armaremos un texto, los datos a solicitar son su nombre y su edad para registrarse en sistema “x”

Solución 1

print "REGISTRO DE USUARIOS \n Para poder continuar necesitaremos algunos datos suyos \n"
print "\t ¿Cuál es tu nombre?  "
nombre=gets()
print "\t ¿Cuantos años tienes?  "
edad=gets()
print "\t CARGANDO DATOS... \n "

print "Bienvenido #{nombre} al parecer tienes #{edad} años de edad. \n Ahora estás dado de alta en nuestro sistema \n BIENVENIDO"

Sin embargo, no me sentí a gusto con la salida.

REGISTRO DE USUARIOS 
 Para poder continuar necesitaremos alguno datos suyos 
	 ¿Cuál es tu nombre?  jorge
	 ¿Cuantos años tienes?  24
	 CARGANDO DATOS... 
 Bienvenido jorge  <<<<<<<<<<
 al parecer tienes 24  <<<<<<<<
 años de edad. 
 Ahora estás dado de alta en nuestro sistema 
 BIENVENIDO%    

¡Da un salto de línea, justo después de embeber la variable! ¿Por qué hace tal cosa?

Investigando al respecto aprendí lo siguiente:

en el ejemplo anterior si agrego lo siguiente:

print "\t ¿Cuál es tu nombre?  "
nombre=gets()
p nombre

y al ejecutarlo escribiera “jorge” nos devolvería:

"jorge/n"

que es lo que en verdad se guardó en la variable nombre.

El código nos quedará entonces de la siguiente forma:

print "REGISTRO DE USUARIOS \n Para poder continuar necesitaremos alguno datos suyos \n"
print "\t ¿Cuál es tu nombre?  "
nombre=gets.chomp
p nombre
print "\t ¿Cuantos años tienes?  "
edad=gets.chomp
p edad
print "\t CARGANDO DATOS... \n "

print "Bienvenido #{nombre} al parecer tienes #{edad} años de edad. \n Ahora estás dado de alta en nuestro sistema \n BIENVENIDO"

y nuestra salida será la siguiente:

REGISTRO DE USUARIOS 
 Para poder continuar necesitaremos alguno datos suyos 
	 ¿Cuál es tu nombre?  jorge
"jorge"
	 ¿Cuantos años tienes?  12
"12"
	 CARGANDO DATOS... 
 Bienvenido jorge al parecer tienes 12 años de edad. 
 Ahora estás dado de alta en nuestro sistema 
 BIENVENIDO    

Dejé p en el código después de usar gets.chomp para ver como en esta ocasión nuestras variables aparecen sin caracteres no imprimibles.