Hasta ahora, cuando usamos 'puts' para un texto o número, esto
desaparece. A lo que me refiero es que, si queremos imprimir algo dos
veces, necesitamos escribirlo dos veces:
Código:
puts '...puedes decir eso de nuevo...'
puts '...puedes decir eso de nuevo...'
Resultado:
...puedes decir eso de nuevo...
...puedes decir eso de nuevo...
Sería bueno si pudiesemos escribirlo solo una vez y quedárnoslo... guardarlo en algún lado. Bueno, sí podemos, por supuesto; de otra manera, ¡no lo hubiese mencionado!
Para guardar el texto en la memoria de tu computador, necesitamos darle
un nombre al texto. Los programadores se refieren frecuentemente a este
proceso como asignación y llaman a los nombres variables. Esta variable
puede ser cualquier secuencia de letras o números, pero el primer caracter
necesita ser minúscula. Probemos nuestro programa de nuevo, pero esta vez
voy a darle el nombre 'myString' al texto (aunque podría haber usado cualquier
nombre, por ejemplo 'str' o 'myOwnLittleString' o 'enriqueOctavo').
Código:
myString = '...puedes decir eso de nuevo...'
puts myString
puts myString
Resultado:
...puedes decir eso de nuevo...
...puedes decir eso de nuevo...
En todo momento cuando haces referencia a 'myString', el programa usa en su
reemplazo "'...puedes decir eso de nuevo...'". Puedes pensar en la variable
'myString' como "apuntando" al texto "'...puedes decir eso de nuevo...'".
Este es un ejemplo un poco más interesante.
Código:
name = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'Me llamo ' + name + '.'
puts 'Wow! "' + name + '" es un nombre realmente largo!'
Resultado:
Me llamo Patricia Rosanna Jessica Mildred Oppenheimer
Wow! Patricia Rosanna Jessica Mildred Oppenheimer es un nombre realmente largo!
También, así como podemos asignar un objeto a una variable, podemos reasignar un objeto diferente a esa variable (Por eso es que las llamamos variables: porque varían.)
Código:
composer = 'Mozart'
puts composer + ' fue "el amo", en su día.'
composer = 'Beethoven'
puts 'Pero yo prefiero a ' + composer + ', personalmente.'
Resultado:
Mozart fue "el amo", en su día.
Pero yo prefiero a Beethoven, personalmente.
Por supuesto, las variables pueden apuntar a cualquier tipo de objeto, no sólo texto:
Código:
var = 'solo otro ' + 'texto'
puts var
var = 5 * (1+2)
puts var
Resultado:
solo otro texto
15
De hecho, las variables pueden apuntar a casi cualquier cosa... excepto otras variables. ¿Pero qué pasa si lo intentamos?
Código:
var1 = 8
var2 = var1
puts var1
puts var2
puts ''
var1 = 'ocho'
puts var1
puts var2
Resultado:
8
8
ocho
8
Primero, cuando tratamos de apuntar var2 a var1 en realidad apuntamos a 8 (que
es el valor al cual apuntaba var1). Luego cuando apuntamos var1 a 'ocho', el
valor de var2 no cambia ya que en realidad no estaba apuntando a var1 sino a 8.
Ahora que tenemos variables, números y textos, vamos a ver como mezclarlos.