Como decíamos antes, una persona puede tener un nombre, una edad, una estatura, etc.
Esos son los atributos.
Imagina a los atributos como variables que están asociadas a un objeto. De hecho, a los
atributos se les conoce como variables de instancia (instancia se refiere a un objeto, la
instancia de una clase).
En Ruby vas a identificar los atributos en una clase porque comienzan con el carácter @. Por
ejemplo, podemos almacenar el argumento que llega en el constructor dentro de un atributo
de Person:
class Person
def initialize(name)
@name = name
end
...
end
Analiza este último ejemplo con cuidado. El constructor está recibiendo un argumento
llamado name y almacenamos el valor en el atributo @name. name no es lo mismo que
@name.
La ventaja de guardar el nombre en @name, es que hora lo podemos utilizar desde cualquier
otro método:
class Person
def initialize(name)
@name = name
end
def greet(other_person_name)
"Hola #{other_person_name}, me llamo #{@name}"
end
end
Fíjate cómo estamos utilizando @name dentro del método greet. Creemos una instancia
(objeto) de Person para probarlo:
class Person
...
private
def secret_method
puts "Este es el método secreto"
end
def another_secret_method
puts "Este es otro método secreto"
end
end
Para crear métodos privados debes utilizar la palabra clave private. Todos los métodos
que estén debajo de esa palabra serán privados y no se podrán acceder desde afuera:
Empezando por arrays de una única dimensión, lo puedes entender como una
barra con casillas, cada casilla es como una variable, solo que está agrupada
con otras. Así pues, en un array tenemos diversas posiciones y en cada una de
ellas se puede almacenar un dato. En cada posición de esa estructura de
arreglo encontramos un dato diferente y para poder referirnos a él usamos lo
que se llaman índices.
En Javascript solo hay arrays con índices numéricos y la primera casilla de un
array siempre empieza por el índice cero. Por tanto, un array de 10 posiciones
iría desde el índice cero hasta el nueve.
Te sugiero ver el vídeo completo, al pie de este texto, para más aclaraciones.