private
. Todos los métodos que van debajo de esa palabra private
son privados:initialize
que se llama cada vez que se crea un objeto con .new
:@
al principio. Veamos cómo se utiliza.=
al final del atributo.attr_accessor
. El siguiente código es equivalente al anterior:attr_reader
en vez de attr_accessor
.attr_writer
en vez de attr_accessor
."Hola".length
estás llamando el método length
de una clase llamada String
. De hecho podemos ser más explícitos y crear la cadena de la siguiente forma:String.new("...")
. Lo mismo ocurre con los arreglos y los hashes, que se crean con las clases Array
y Hash
respectivamente.1 + 2
) realmente estás llamando el método +
sobre el primer número y le estás pasando el segundo número como argumento!+
, =
, etc.).class
que retorna la clase que se utilizó para crearlos:self
en las clases. Veamos para qué sirve con un ejemplo:self
podemos ser más explícitos para referirnos a un método del objeto. En este caso, estamos almacenando el resultado del método random_number
en una variable random_number
. Como tienen el mismo nombre utilizamos self
para indicarle a Ruby que nos estamos refiriendo al método y no a la variable.self
se utiliza generalmente cuando hay colisiones de nombres entre un método y una variable.