1 / 39

Ruby

Ruby. Feliz Programación ;). Juan Álvarez Álvarez Luis Serrano Arjona Francisco Javier Trujillo Mata. Indice. Introducción Objetivo Características Ruby Vs Haskell Tutorial Ruby Aplicación Bibliografía. Introducción.  Creador Yukihiro “matz” Matsumoto. Introducción.

cais
Download Presentation

Ruby

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ruby Feliz Programación ;) Juan Álvarez Álvarez Luis Serrano Arjona Francisco Javier Trujillo Mata

  2. Indice Introducción Objetivo Características Ruby Vs Haskell Tutorial Ruby Aplicación Bibliografía

  3. Introducción  Creador Yukihiro “matz” Matsumoto

  4. Introducción Interpretado, reflexivo y orientado a objetos. Sus orígenes constan del año 1993. Presentado en 1995. Combina una sintaxis inspirada en Python y Perl. Características similares a Smalltalk con respecto a la programación orientada a objetos.

  5. Objetivo • “A menudo la gente, especialmente los ingenieros en informática, se centran en las máquinas. Ellos piensan, "Haciendo esto, la máquina funcionará más rápido. Haciendo esto, la máquina funcionará de manera más eficiente. Haciendo esto..." Están centrados en las máquinas, pero en realidad necesitamos centrarnos en las personas, en cómo hacen programas o cómo manejan las aplicaciones en los ordenadores. Nosotros somos los jefes. Ellos son los esclavos.”

  6. Objetivo “Principio de la menor sorpresa”

  7. Características • Software libre • Orientado a Objetos • Flexibilidad • Posibilidad de redefinir los operadores • Bloques • Apariencia visual • Recolección de basura automática • Herencia como Mixin y patrones singleton • …

  8. Ruby Vs Haskell Popularidad Haskell es más potente y eficiente Nivel lógico importante en Haskell Pattern matching en Haskell Fácil adaptación a Ruby

  9. Ruby Vs Haskell Prelude, librería Haskell para Ruby http://www.appdesign.com/products/open-source-projects/prelude-library/

  10. Tutorial Ruby. Lección 1 • El programa Hola Mundo Arrancamos el interprete: irb(main):001:0> Escribimos la sentencia: puts “Hola mundo” Resultado: irb(main):001:0> puts "hola mundo" hola mundo => nil

  11. Tutorial Ruby. Lección 1 • Ventajas con otros lenguajes • Para programadores de C y Java - no se necesita escribir un método main. • Los strings son secuencias de caracteres entre simple o dobles comillas. • Es un lenguaje interpretado, entonces no hace falta recompilar para ejecutar un programa.

  12. Tutorial Ruby. Lección 1 • Números en Ruby (algunos ejemplos) • puts 1 + 2 3 => Nil #Divisón: cuando divides dos enteros, obtienes un entero: • puts 3 / 2 1 => nil

  13. Tutorial Ruby. Lección 1 • Números en Ruby (algunos ejemplos) #si quieres obtener el resultado de decimal, #al menos uno de los dos tiene que ser decimal • puts 3.0 / 2 1.5 => nil

  14. Tutorial Ruby. Lección 1 • Números en Ruby • Los números en Ruby son objetos de la clase Fixnum o Bignum

  15. Tutorial Ruby. Lección 1 • Números en Ruby • Operadores y precedencia

  16. Tutorial Ruby. Lección 1 • Strings • Los strings (o cadenas de texto) son secuencias de caracteres entre comillas simples o comillas dobles. '' (dos comillas simples) no tienen nada: podemos llamarlo string vacío. • puts "Hola mundo" # Se puede usar " o ' para los strings, pero ' es más eficiente. • puts 'Hola mundo' # Juntando cadenas • puts 'Me gusta' + ' Ruby' # Secuencia de escape • puts 'Ruby\'s party' # Repetición de stringsputs • 'Hola' * 3

  17. Tutorial Ruby. Lección 1 • Variables • Para almacenar un número o un string en la memoria del ordenador, con el fin de usarlos en cálculos posteriores, necesitas dar un nombre a ese número o string. En programación este proceso es conocido como asignación. #Ejemplos de asignaciones • s = ‘¡Hola Mundo!' • x = 10

  18. Tutorial Ruby. Lección 1 • Variables • Las variables locales en ruby son palabras que: • deben empezar con un letra minúscula o un guión bajo (_) • deben estar formadas por letras, números y/o guiones bajos. • Existen dos tipos distintos de variables dependiendo del alcanze: Locales y Globales

  19. Tutorial Ruby. Lección 1 • Variables Globales • Las variables globales se distinguen porque están precedidas del signo dólar ($). • Ruby tiene por defecto un gran número de variables globales inicializadas desde el principio. • Son variables que almacenan información útil. • Por ejemplo, la variable global $0 contiene el nombre del fichero que Ruby está ejecutando.

  20. Tutorial Ruby. Lección 2 • Introduciendo datos (gets) • ¿Cómo podemos introducir nuestros propios datos? Para esto gets (get=coger, s=string) y chomp son de ayuda. # gets y chomp puts "¿En qué ciudad te gustaría vivir?" STDOUT.flush ciudad = gets.chomp puts "La ciudad es " + ciudad

  21. Tutorial Ruby. Lección 2 • Los métodos • Empiezan por la palabra def y acaba por la end. # Definición de un método def hello puts 'Hola' end #uso del método hello

  22. Tutorial Ruby. Lección 2 • Los métodos: argumentos • Ruby deja especificar los valores por defecto de los argumentos. • Esto se hace mediante el operador = def sinceridad(arg1=“Messi ", arg2=“el ", arg3=“mejor.") puts arg1 + arg2 + arg3 end puts sinceridad

  23. Tutorial Ruby. Lección 2 • Rangos • El principal uso y quizás el más apropiado para los rangos, es expresar una secuencia. • Genera una secuencia donde los puntos límites están incluidos. (1..3).to_a #es la secuencia 1, 2, 3 • Genera una secuencia en la que no está incluida el límite superior. (1...5).to_a #equivale a 1, 2, 3, 4

  24. Tutorial Ruby. Lección 2 • Arrays • Es un conjunto ordenado: cada posición en la lista es una variable que podemos leer y/o escribir. # array vacío vec1 = [] # Los índices empiezan desde el cero (0,1,2,...) nombres = ['Satish', 'Talim', 'Ruby', 'Java'] puts nombres[0] # si el elemento no existe, se devuelve nil puts nombres[4]

  25. Tutorial Ruby. Lección 3 • Condicionales • if,else xyz = 5 if xyz == 5 puts 'Se puede anidar un bloque if,else,end dentro de otro' else puts "Parte del bloque anidado" end

  26. Tutorial Ruby. Lección 3 • Condicionales • if,else Además de la igualdad, existen otros operadores condicionales:

  27. Tutorial Ruby. Lección 3 • Condicionales • Case xyz = 10 par = case when xyz % 2 == 0: true when xyz % 2 != 0: false end puts par

  28. Tutorial Ruby. Lección 3 • Condicionales • Unless nombre = 'Pepe' unless nombre == 'Enjuto' puts 'Ese nombre no tiene arte ninguno' end

  29. Tutorial Ruby. Lección 3 • Bucles • while # Loops var = 0 while var < 10 puts var.to_s var += 1 end

  30. Tutorial Ruby. Lección 3 • Bucles • times : Lo que hace times es iterar el bloque ese "número" de veces. 10.times do |num| puts num end

  31. Tutorial Ruby. Lección 4 • Clases y Objetos • 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.

  32. Tutorial Ruby. Lección 4 • Clases y Objetos • Una clase es usada para construir un objeto. • Una clase es como un molde para objetos. • Y un objeto, una instancia de la clase.

  33. Tutorial Ruby. Lección 4 • Clases y Objetos # define la clase Perro class Perro # método inicializar clase definitialize(raza, nombre) # atributos @raza = raza @nombre = nombre end # método ladrar def ladrar puts 'Guau! Guau!' end

  34. Tutorial Ruby. Lección 4 • Clases y Objetos # método saludar def saludar puts "Soy un perro de la raza #{@raza} y mi nombre es #{@nombre}" end end # para hacer nuevos objetos, # se usa el método new d = Perro.new('Labrador', 'Benzy') putsd.methods.sort puts "La id del ojbeto es #{d.object_id}."

  35. Tutorial Ruby. Lección 4 • Clases y Objetos if d.respond_to?("correr") d.correr else puts "Lo siento, el objeto no entiende el mensaje 'correr'" end d.ladrar d.saludar

  36. Tutorial Ruby. Lección 4 • Usando librerías • Una librería es un fichero que contiene métodos y clases para su uso a posteriori. • Para poder usar estas librerías, necesitas de los métodos require y load.

  37. Tutorial Ruby. Lección 4 • Usando librerías • Require: El método require lee una única vez el fichero especificado. • require ‘mi_librería’ • Load: El método load lee el fihcero indicado tantas veces como aparezca la instrucción. • load ‘mi_libreria’

  38. Sudoku

  39. Bibliografía Wikipedia http://www.ruby-lang.org/es/about/ http://newsgug.blogspot.com/2007/09/el-le http://www.demiurgo.org/src/ruby/nguaje-de-programacin-ruby.html http://rubytutorial.wikidot.com/bloques

More Related