140 likes | 259 Views
Universidad de Tarapacá Fundamentos Lenguaje y Programación. Ruby. Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales. ¿Que es Ruby ?. Un lenguaje de programación dinámico open source , enfocado en la simplicidad y productividad.
E N D
Universidad de Tarapacá Fundamentos Lenguaje y Programación Ruby Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales
¿Que es Ruby? Un lenguaje de programación dinámico open source, enfocado en la simplicidad y productividad. Tiene una sintaxis elegante que se siente natural al leerla y escribirla
YukihiroMatzumoto “Quería un lenguaje que fuera mas poderoso que Perl y mas orientado a objetos que Python” “Ruby esta diseñado para hacer que la programación no solo sea fácil sino también entretenida” Influenciado por Smalltalk, Perl, Eiffel, Lis y Python.
Hitos de Ruby -1993- Comienza el desarrollo -1995-Se lanza al Publico en su versión 0.95 Hasta aquí su uso era casi exclusivamente en Japón, donde ya era mas usado que Python. -2000- ProgrammingRuby 1ra edición (1.6) -2004- ProgrammingRuby 2da edición(1.8) -2005- Se Lanza Framework: Rubyonrails -2006- Elegido LP del año en v. 1.8.6 -2009- Ultima versión 1.9.1
Historia El significado de “Ruby” (en español rubí) fue como broma aludiendo al lenguaje de programación "Perl" (perla). Ruby combina una sintaxis inspirada en Python, Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan . Su implementación oficial es distribuida bajo una licencia de software libre.
Caracteristicas • -Es un lenguaje de Scripts para una programación principalmente orientada a objetos rápida y sencilla. • -Cuatro niveles de ámbito de variable: • global ($), • constante (A-Z) • instancia (@) • local ([a-z] ó _ ). • -De muy alto nivel, enfocado en la simplicidad y productividad. • -Amplia librería estándar. • -Soporta alteración de objetos en tiempo de ejecución. • En Ruby, todo es un objeto.
-En ruby no se necesita declarar variables. -Ruby podría decirse que esta dentro de los lenguajes mas fáciles de usar. -Libre de formato: una cosa se puede hacer de distintas maneras. Escoge la que mejor se adapte a la manera de trabajo. Sensible a las mayúsculas. Por ejemplo, 'Dir' no es lo mismo que 'dir'. -Comentarios: cualquier línea precedida por '#' , '=begin' y '=end, es ignorada por el intérprete. -Palabras clave: palabras reservadas, son palabras en Ruby que no pueden ser usadas para otros propósitos. -'false' y 'nil': En Ruby, todo esto es válido; de hecho, todo es cierto excepto las palabras reservadas 'false' y 'nil'.
Sintaxis y Semantica Ruby es orientado a objetos: todos los tipos de datos son un objeto, incluidas las clases y tipos que otros lenguajes definen como primitivas, (como enteros, booleanos, y "nil"). Toda función es un método. La sintaxis es la parte de la gramática que se encarga de estudiar las funciones de las palabras y sus relaciones en la expresión de ideas. La sintaxis de Ruby es similar a la de Perl o Python. Una de las diferencias entre Ruby con Python y Perl es que Ruby mantiene todas sus variables de instancia privadas dentro de las clases. semántica se refiere a los aspectos del significado, sentido o interpretación del significado de un determinado elemento, símbolo, palabra, expresión o representación formal.
Operaciones Para trabajar con números, hacemos uso de los Operadores Aritméticos que nos permiten realizar las operaciones mas comunes, como la: suma( + ), la resta( - ), división( / ) multiplicación( * ). Operador Mod (%): calcula el resto de una división entre dos números. Potencia de una numero (**): Ruby, también nos facilita el operador ** que sirve para calcular la potencia de un numero.
Estructura lenguaje if / elsif / else if condicion1 Sentecias… elsif condicion2 Sentencias… else Sentencias… end Unless: similar al if, se verifica cuando la condición no se cumple. No existe elsunless. unlesscondicion Sentencias… end
While: bucle más sencillo whilecondicion sentencias… end Until: funciona de forma similar al while, pero se ejecuta mientras no se verifica la condición: untilcondicion Sentencias… end Ej: if-then-end x = 12 if x>yy = 9.54 puts “x es mayor que y”endifx > y thenputs "x es mayor que y" end La declaración ifdebe comenzar con if (lógico) y terminar con end. También es importante destacar la presencia de la palabra reservada then. Then se utiliza siempre y cuando la estructura if vaya en una sola línea, de lo contrario, se obvia.
Métodos 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
Estos métodos nos permiten convertir una variable a distintos tipo de datos: To_i : Convierten en un Entero (en ingles Integer) To_f : Convierten en un Decimal (en ingles Float) To_s : Convierten en un String. Rangos: El principal uso y quizás el más apropiado para los rangos, es expresar una secuencia: las secuencias tienen un punto inicial y un punto final, y una forma de producir los sucesivos valores entre ambos. En Ruby, esas secuencias son creadas usando los operandos.. y … (1..3).to_a #es la secuencia 1, 2, 3 (1...5).to_a #equivale a 1, 2, 3, 4
Bloques Un bloque es una porción de código encerrada entre paréntesis {} o entre do…end. Por lo tanto, un bloque es una forma de agrupar instrucciones, y solo puede aparecer después de usar un método: el bloque empieza en la misma línea que usa el método. Lo usual es usar los paréntesis para bloques de una línea y el do…end para más de una línea. yield -Un método puede usar el bloque mediante la palabra yield. -Lo que sucede es que en el momento que el intérprete llega al yield, se ejecuta el código dentro del bloque, y luego se retorna al método.