Para guardar un número o una cadena en la memoria de tu computadora y usarla pasteriormente en un programa, necesitas darle un nombre. Con frecuencia, los programadores le llaman a este proceso “asignación” y se refieren a los nombres asignados como “variables”.
1 s = 'Otra vez....Hola Mundo!' 2 x = 10
Las variables locales son palabras comunes; deben comenzar con una letra minúscula o un guión bajo ( _ ) y deben contener sólo letras, números y guiones. Cuando Ruby identifica una palabra común, la interpreta de tres maneras diferentes:
- una variable local,
- la llamada a un método o
- una palabra reservada.
Las palabras reservadas (keywords) no pueden usarse como nombres de
variables. def es una palabra reservada; para lo único que puede usarse
es para comenzar la definición de un método. Gran parte del código escrito
en Ruby involucra cláusulas condicionales que comienzan con la palabra if;
sería muy confuso permitir el uso de la palabra if como nombre de variable.
Las llamadas a métodos (method calls) pueden ser palabras comunes como
empieza_aqui. puts es una llamada a un método, lo mismo que print.
Ruby decide cómo interpretar una palabra común de la siguiente manera:
- Si hay un símbolo de igual a la derecha de la palabla ( = ), es una variable local que está siendo asignada.
- Si la palabra es una palabra reservada la interpreta como tal. (Ruby tiene una lista interna de estas palabras y es así como las reconoce).
- Si no es ninguna de las anteriores, asume que la palabra es una llamada a un método.
El programa p004usodecadenas.rb nos muestra un poco más del uso de las
cadenas:
1 # Definición de una constante 2 PI = 3.1416 3 puts PI 4 5 # Definición de una cadena 6 miCadena = 'A Shatim le gusta su ciudad, Pune' 7 puts miCadena 8 9 =begin 10 Canversiones 11 .to_i, .to_f, .to_s 12 =end 13 var1 = 5 14 var2 = '2' 15 puts var1 + var2.to_i 16 17 # << agregar 18 a = 'hola ' 19 a <<'mundo. 20 Me gusta este mundo...' 21 puts a 22 23 =begin 24 << marca el inicio de una cadena y 25 debe ser seguido por un delimitador cualquiera 26 La cadena comienza después del salto de línea 27 y termina cuando Ruby encuentra el nuevamente el 28 delimitador en otra línea. 29 =end 30 a = <<LIMITE 31 Esta es una cadena 32 Y una segunad linea 33 LIMITE 34 puts a
En la expresión
1 x = '100'.to_i
el punto quiere decir que el mensaje to_i está siendo enviado a la
cadena '100', o bien, que el método to_i está siendo llamado para la
cadena '100'. Entonces, cuando veas un punto en una posición que parece
inexplicable, debes interpretarlo como un mensaje (en la parte de la derecha
) siendo enviado o un objeto (en la parte izquierda).