Este documento presenta conceptos clave de hashes, símbolos y orientación a objetos en Ruby. Explica que los hashes almacenan datos en forma de pares clave-valor, las claves pueden ser cadenas o símbolos para ahorrar memoria, y los valores pueden ser de cualquier tipo. También introduce conceptos básicos de orientación a objetos como clases, objetos, métodos, herencia y sobrescritura de métodos. Finalmente, propone ejercicios prácticos para aplicar estos conceptos.
4. Extra: case when else end
Es una estructura de control
especial
Te permite estructurar
diversos casos de
equivalencias
Puede usarse sin variable
inicial:
5. Hashes. Valor por defecto
El valor que se usa en el constructor será el valor por
defecto
6. Símbolos (Symbol)
Es un tipo de nombre
NO ES UNA CADENA
Las cadenas iguales son objetos diferentes
Los símbolos iguales son el mismo objeto
7. Para que usamos Symbols?
Para los keys de los hashes
Ahorran memoria
8. Convirtiendo strings en symbols
Mediante el método to_sym
Para regresar, se hace mediante el método to_s
9. Otra forma de escribir Hashes
Antes era asi (sin
Symbols)
Ahora es asi (con
Symbols)
13. Reto: Rating para Peliculas
Escribiremos un programa que se haga cargo de
nuestros ratings
Copien la estructura en nuevo archivo y rellenen en
donde haga falta
20. Herencia
Una clase puede heredar de otra
Se usa para definir la relación “es un”
Adulto es un Humano
En Ruby se usa el operador <
21. Sobreescribiendo
Un método de la clase
padre puede ser
reescrito por la clase
hija
En general todos los
otros métodos se pasan
directamente a la clase
hija
22. Accesando al padre
Una vez que hemos
sobrescrito un método,
se puede accesar a este
mediante el uso del
super
23. Reto: Computadora virtual
Escribamos un clase que represente a una
computadora
Cada computadora tiene un usuario y un password
Debe guardar un Hash con las computadoras creadas
donde el key sea el usuario y el value sea el pass.
Debe tener un metodo de clase que retorne este hash
Debe tener 2 metodos, uno para crear archivos y el
otro que sea el constructor.
24. Más Ejemplos
Los ejercicios de esta clase se encuentran en:
https://github.com/scyrizales/Ruby101/tree/master
/TerceraClase
Contacto a @scyrizales (twitter, skype)