viernes, septiembre 28, 2012

[viernes, septiembre 28, 2012] Ruby :: Variables y asignación

Hasta ahora, cuando mandamos imprimir una cadena o un número, aquello que se imprime desaparece. Lo que quiero decir es, si quisiéramos imprimir algo dos veces, tendríamos que escribirlos dos veces.

Código:

puts '...puedes decirlo de nuevo...'
puts '...puedes decirlo de nuevo...'
Resultado:
...puedes decirlo de nuevo...
...puedes decirlo de nuevo...
Sería bueno que pudiéramos escribirlo sólo una vez y después conservarlo... guardarlo en algún lugar.

Bueno, podemos, por supuesto -de otra forma, ¡no lo habría mencionado!

Para almacenar una cadena en la memoria de tu computadora, necesitamos meterla en un cajón y darle un nombre a ese cajón. Los programadores llaman variables a los cajones y asignación al proceso de meter algo en ellos.

El nombre que le damos a una variable puede tener casi cualquier secuencia de caracteres y números, pero en Ruby el primer carácter debe ser una letra minúscula.

Intentemos de nuevo el último problema, pero ésta vez meteré la cadena en una variable de nombre miCadena. (Aunque podría sólo haberla llamado cdn o miPropiaPequeñaCadena o enriqueOctavo.)

Código:
miCadena = '...puedes decir eso de nuevo...'
puts miCadena
puts miCadena
Resultado:
...puedes decirlo de nuevo...
...puedes decirlo de nuevo...
Cuando intentes hacer algo a la variable miCadena, el programa lo hará a '...puedes decirlo de nuevo...' en su lugar, es decir, a la cadena que está dentro del cajón miCadena.

Aquí hay un ejemplo un poco más interesante:

Código:
nombre = 'Yehuda Katz Yukihiro Matsumoto Linus Torvals Alan Turing'
puts 'Mi nombre es ' + nombre + '.'
puts '¡Oh! ¡' + nombre + ' es un nombre realmente largo!'
Resultado:
Mi nombre es Yehuda Katz Yukihiro Matsumoto Linus Torvals Alan Turing.
¡Oh! ¡Yehuda Katz Yukihiro Matsumoto Linus Torvals Alan Turing es un nombre realmente largo!
También, así como podemos asignar algo (un número, una cadena...) a una variable, podemos luego reasignar algo diferente a esa variable. (Esto es por lo que las llamamos variables: debido a que lo que contienen puede variar.)

Código:
compositor = 'Mozart'
puts compositor + ' era “la bomba”, es sus días.'
compositor = 'Beethoven'
puts 'Pero, personalmente, yo prefiero a ' + compositor + '.'
Resultado:
Mozart era “la bomba”, es sus días.
Pero, personalmente, yo prefiero a Beethoven.
Por su puesto, las variables pueden contener cualquier clase de objeto, no solo cadenas:

Código:
var = 'sólo otra ' + 'cadena'
puts var
var = 5 * (1 + 2)
puts var
Resultado:
sólo otra cadena
15
De hecho, las variables pueden contener casi todo... excepto otras variables. ¿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 decimos que var2 contenga a var1, en realidad lo que conseguimos es que var2 contenga lo mismo que contenía var1, es decir, un 8. Luego hicimos que var1 contuviera 'ocho', pero como var2 no estaba en realidad conteniendo a var1, var2 se quedo conteniendo un 8.


0 comentarios:

Publicar un comentario