Ruby 101 session 3
-
Upload
sergio-castillo -
Category
Technology
-
view
190 -
download
0
Transcript of Ruby 101 session 3
HASHES, SYMBOLS Y ORIENTACION A OBJETOS I
Ruby 101
Sergio Castillo Yrizales@scyrizales
Agenda
Hashes y Simbolos
Orientacion a Objetos
Hashes y Simbolos
Extra: case when else end
Es una estructura de control especial
Te permite estructurar diversos casos de equivalencias
Puede usarse sin variable inicial:
Hashes. Valor por defecto
El valor que se usa en el constructor será el valor por defecto
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
Para que usamos Symbols?
Para los keys de los hashesAhorran memoria
Convirtiendo strings en symbols
Mediante el método to_sym
Para regresar, se hace mediante el método to_s
Otra forma de escribir Hashes
Antes era asi (sin Symbols)
Ahora es asi (con Symbols)
Buscando en Hashes
Buscando por key Buscando por value
Recorriendo Hashes por…
Las keys Los values
Eliminando una llave
Usamos el método delete
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
Orientación a Objetos
Por qué Objetos
Ruby es un lenguaje OO
Todo en Ruby es un objeto
Y todo el tiempo hemos usado métodos
Class
Es el mapa para generar nuevos objetos
Constructor
Es el método que inicia todo en RubySe llama al usar el .newSe define mediante initialize
Variables
Variables de Instancia: @Variables de Clase: @@Variables Globales: $
Métodos
Constructor
De instancia
De clase
Herencia
Una clase puede heredar de otraSe usa para definir la relación “es un”Adulto es un HumanoEn Ruby se usa el operador <
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
Accesando al padre
Una vez que hemos sobrescrito un método, se puede accesar a este mediante el uso del super
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.
Más Ejemplos
Los ejercicios de esta clase se encuentran en:
https://github.com/scyrizales/Ruby101/tree/master/TerceraClase
Contacto a @scyrizales (twitter, skype)
Muchas gracias