Evita usar el alcance global Global Scope y variables globales. Alcance global es el
que cubre el programa entero. Las variables globales se distinguen porque empiezan con un
signo de pesos ($). El intérprete de Ruby comienza con un numero bastante grande de variables
globales ya inicializadas.
gets (get string) y chomp (un método de las cadenas) se utilizan para aceptar
y procesar información del usuario.
gets regresa una cadena y un caracter \n, mientras que chomp elimina este caracter.
stdout es una constante global que es la salida estándar del programa. flush “vacía”
los datos que se encuentran en io al sistema operativo.
Para dar formato a datos de salida, por ejemplo con dos lugares decimales, podemos usar
el método format del módulo Kernel.
En Ruby, los nombres se usan para hacer referencia a constantes, variables, métodos, clases
y módulos. El primer caracter de un nombre, ayuda al intérprete de Ruby a distinguir su
propósito.
Cuando hablamos de letras minúsculas nos referimos a la ‘a’ hasta la ‘z’ así como
el guión bajo ’_’. Letras mayúsculas nos referimos a la ‘A’ hasta la ‘Z’ y cuando
hablamos de dígitos queremos decir del ‘0’ al ‘9’.
Un nombre es una letra mayúscula, minúscula, o un guión bajo seguido de cualquier
combinación de letras (mayúsculas o minúsculas), dígitos o guiones bajos.
Puedes usar variables en tus programas sin necesidad de declararlos. El nombre mismo
de la variable denota su alcance (local, global, de instancia, etc.).
Recuerda la manera en que las variables, constantes y métodos locales,
de instancia, de clase y globales son declarados.
? y ! son los únicos caracteres extraños permitidos como sufijo en los nombres
de métodos.
Es costumbre en Ruby es usar guiones bajos para separar palabras en un nombre de método o
variable. Para los nombres de clases, módulos y constantes, es costumbre usar letras mayúsculas
en lugar de guiones bajos para distinguir el comienzo de palabras dentro del nombre.
Por ejemplo: mi_variable, MiModulo, MiClase, MiConstante.
Cualquier variable puede, en diferentes momentos, hacer referencia a objetos de muchos tipos
diferentes.
Las variables en Ruby actúan como referencias a objetos, que están sujetos a la
recolección de basura.
Recuerda que Ruby es escrito dinámicamente y que en Ruby, todo lo que
manipulas es un objeto y los resultados de esas manipulaciones son, a su vez, objetos.
Los tipos básicos en Ruby son Numeric, Fixnum, Integer, Float, String, Array,
Hash, Object, Symbol, Range y RegEx.
Recuerda que siempre puedes ver en qué objeto te encuentras usando la variable especial
self.
Utilizamos def y end para declarar un método. Los parámetros son simplemente una
lista de variables locales entre paréntesis.
No es necesario declarar el valor que regresa un método; siempre regresa el valor de
la última línea.
Es recomendable dejar una línea en blanco entre cada definición de un método.
Los parámetros de los métodos deben ir entre paréntesis.
Los métodos que regresan un valor true o false con frecuencia tienen el símbolo ? como
último caracter de su nombre.
Los métodos que son “peligrosos”, o que modifican al receptor pueden contener él símbolo !
(Métodos bang).
Ruby te permite especificar valores por defecto para los argumentos de un método. Estos
valores van a ser usados si no se pasan como parámetros. Esto se logra usando el operador de
asignación (=).
Recuerda que hay un operador de interpolación.
alias crea un nuevo nombre para referirse a un método que ya existe. Cuando se crea un
alias para un método, el nuevo nombre hace referencia a una copia del cuerpo del método.
Si el método es redefinido posteriormente, el alias continúa haciendo referencia a la
implementación original.
En Ruby podemos escribir métodos que acepten un número variable de parámetros.
No hay límite para el número de parámetros que pueden pasarse a un método.
La secuencia en la que los parámetros son puestos en la pila es de izquierda a derecha.
No es importante si Ruby pasa los parámetros par valor o por referencia.