La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales.

Presentaciones similares


Presentación del tema: "Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales."— Transcripción de la presentación:

1 Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales

2 En RUBY tenemos cuatro niveles de ámbito de variables: Variables global ($): $global, $1, $contador Variables constante (A-Z) Variables instancia (@): : @nombre, @maximo, @hora_comer Variables local ([a-z] ó _ ) : objeto, llave_maestra Símbolos: :nombre, :edad, :Clase En RUBY no existen Tipos Primitivos  “todo en un objeto” Pero existen Tipos Básicos  Numeric Fixnum RegEx Integer Symbol String Array Range Float Hash

3 -Métodos singleton. -Enlace Dinamico. -Mixins. Tiempo de vida de: - Variable Global comienza con $. -Variables de Instancias -Variable Local

4 #Toda asignación devuelve su valor a = 4 # 4 # Las asignaciones se pueden usar en cadena a = b = 4 # 4 a + b #8 # y usados en un test fichero = File.open('../tutor.txt') # # cont_linea = 0 # 0 cont_linea += 1 while (line = line.gets) # nil

5 # Atajos a += 2 # 6 a = a+2 # 8 # Asignación en paralelo a, b = b, a # [4, 8] # Dividiendo arrays array = [1, 2] # [1, 2] a, b = *array # [1, 2]

6 Entonces, que es un método ? Un método es lo que nos permite manipular un objeto. En la programación OO no se piensa en operar sobre los datos directamente desde el exterior de un objeto; si no que los objetos tienen algún conocimiento de cómo se debe operar sobre ellos Las tareas que podemos pedir que un objeto realice son los métodos. Un bloque de instrucciones que define un método, empieza por la palabra def y acaba por la end. Los parámetros son la lista de variables que van entre paréntesis. Aunque en Ruby, dichos paréntesis son opcionales

7 Ruby los métodos son Subrutinas asociadas a clases o objetos, como por ejemplo el método “to_s” usado al final de la entrada. Si los objetos (como las cadenas, números enteros y números decimales) son los sujetos en el lenguaje de Ruby, los métodos son los verbos. Cada método necesita un objeto.

8 El resultado de llamar a un método se conoce como valor de retorno: el valor de retorno de cualquier método es el valor de la última expresión evaluada durante la ejecución del método. Ruby tiene una forma de hacerlo explícito: return. El uso de esta palabra clave es opcional: En Ruby ´´todo´´ es dinámico, de forma que no hay chequeo de tipos en el paso de parámetros. Esto es duck typing.

9 En Ruby, confiamos menos en el tipo (o clase) de un objeto y más en sus capacidades. Entonces, Duck Typing significa que el tipo de un objeto está definido por lo que puede hacer, no por lo que es. Duck Typing se refiere a la tendencia de Ruby de preocuparse menos por la clase de un objeto y más por los métodos que pueden ser llamados por el y las operaciones que se pueden realizar con en el. En Ruby utilizaríamos el método respond_to? o simplemente pasamos un objeto a un método y sabemos que se generará una excepción si se utiliza inapropiadamente.

10 ¿Qué es el manejo de excepciones en un lenguaje? El manejo de excepciones es una estructura de control de los lenguajes de programación diseñada para manejar condiciones anormales que pueden ser tratadas por el mismo programa que se desarrolla. En Ruby una excepción es un tipo especial de objeto de la clase EXCEPTION. Lanzar una excepción significa para la ejecución de un programa salir del mismo y tratar con el problema que se ha producido. Para tratar el problema hace falta RAISE; de no ser así, el programa termina y avisa del error. Lo que hará RAISE (lanzar) una excepción para manejar el error. Ruby tiene una serie de clases, Exception y sus hijas, que ayudan a manejar los errores que pueden ocurrir. Para tratar una excepción, se pone el método que puede causar el error dentro de un bloque begin…end. Dentro de este bloque, se pueden poner varios rescue para cada tipo de error que pueda surgir:

11 def raise_and_rescue begin puts 'Estoy antes del raise' raise 'Un error ha ocurrido' # simulamos un error puts 'Estoy después del raise' rescue puts 'Estoy rescatado del error.' end puts 'Estoy después del bloque' end raise_and_rescue #La salida es: Estoy antes del raise Estoy rescatado del error. Estoy después del bloque El código interrumpido por la excepción, nunca se ejecuta. Una vez que la excepción es manejada (por el rescue), la ejecución continúa inmediatamente después del bloque begin fuente del error.

12 Ruby es un lenguaje completamente orientado a objetos. En ruby los objetos son los agentes, el universo de tu programa: se presta atención a la estructura de los datos. Cuando se diseña una clase, se piensa en los objetos que serán creados por esa clase: en las cosas que podrá hacer ese objeto, y las características que lo definen. Un objeto es un contenedor de datos, que a su vez controla el acceso a dichos datos. Asociados a los objetos está una serie de variables que lo definen: sus atributos. Y también un conjunto de funciones que crean un interfaz para interactuar con el objeto: son los métodos. Una clase es usada para construir un objeto. Una clase es como un molde para objetos. Y un objeto, una instancia de la clase.

13 Constructores literales: Significa que se puede usar una notación especial, en vez de usar new para crear un nuevo objeto de esa clase. Las clases que un constructor literal puede crear, están en la siguiente tabla: cada vez que usas uno de estos constructores, creas un nuevo objeto. ClaseConstructor LiteralEjemplo String‘ ó ""nuevo string" o 'nuevo string' Símbolo::símbolo ó :"símbolo con espacios" Array[ ][1, 2, 3, 4, 5] Hash{ } {"Nueva Yor" => "NY", "Oregon" => "OR"} Rango.. ó …0…10 ó 0..9 Expresiones regulares//([a-z]+)/


Descargar ppt "Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales."

Presentaciones similares


Anuncios Google