Ruby: a Programmer's best friend

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Ruby: a Programmer's best friend - Presentation Transcript

    1. Los ideales del creador de Ruby Yukhiro “matz” Matsumoto Mezcla: Perl Smalltalk Eiffel Ada Lisp Ruby como un lenguaje natural, no simple
    2. Los ideales del creador de Ruby Ruby es totalmente libre. No sólo gratis, sino también libre para usarlo, copiarlo, modificarlo y distribuirlo.
    3. Historia Iniciado en 1993. Liberado al público en 1995. Version 1.0 a fines de 1996. Reconocimiento masivo en 2006. Version actual 1.9.x
    4. Caracteristicas Interpretado. Portable. Dinamico. Orientado a objetos. Flexible (abierto). Mixines. Manejo de excepciones.
    5. Instalación / como empezar Interprete irb Archivos con extension .rb Binario ruby Ejecutando: ruby programa.rb LIbrerias (gemas) gem install <nombre>
    6. Orientado a objetos "Todo es un objeto" 5.times { print "Hola mundo" }
    7. Clases Integer, Fixnum, Bignum, Float, ... String Array dias = Array.new dias.empty? => true dias = Array.new(7, "today") dias = [ "L", "M", "M", "J", "V", "S", "D" ] Union, interseccion, diferencia Date DateTime Time
    8. Clases Ranges r = (1..10) # de 1 a 10 inclusive r = (1...10) # de 1 to 9 r === 4 # => true ('k'..'z') === 'm' # => true Hash h = {'uno' => 1, 'dos' => 2} h['uno'] # => 1 h['tres'] = 3
    9. Simbolos Es el elemento mas basico que se puede crear en ruby. Sintaxis: :simbolo Diferencia con String puts "hola".object_id # 21066960 puts "hola".object_id # 21066730 puts :hola.object_id # 132178 puts :hola.object_id # 132178 Particularmente utiles para claves en Hash persona[:nombre] = 'Pedro'
    10. Clases class Saludo def initialize( quien ) @quien = quien auxiliar = "local" @@variable_de_clase = "prueba" end def deci_hola "Hola #{@quien}!" end end unSaludo = Saludo.new("Lucas") unSaludo.deci_hola # Hola Lucas!
    11. Abierto class Integer def sumar(x) self + x end end y = 5.sumar 6 # ahora y vale 11
    12. Herencia - Mixins - Modulos Herencia simple Modulos que se "mezclan" Colecciones de metodos Ejemplo: implementando each y/o <=> puedo mezclar Enumerable class Perro < Animal end class MiArreglo include Enumerable end min, max, sort, include?, ....
    13. Verdades En Ruby, todo excepto nil y false es considerado true. if 0 true else false end # => true
    14. Iteradores Cada objeto debe saber como "iterarse" # numeros = [1,2,3,4,5,6,7,8, 9,10] numeros = (1..10).to_a numeros.each do |n| puts n end pares = numeros.select do |n| n % 2 == 0 end
    15. Iteradores Iteraciones estilo ruby 5.times do puts "hola" end 5.upto(10) do |index| puts "hola #{index}" end 15.downto(10) do puts "hola" end
    16. Manejo de excepciones begin sum / 0 rescue ZeroDivisionError => e puts "Error: #{sum} / 0" ensure end
    17. Quedaron afuera... Bloques. Expresiones regulares YAML Reflection
    18. Sugerencias Tests, tests, tests. Manejo de versiones "desprolijo"
    19. Desarrollo de aplicaciones Aplicaciones de escritorio Ruby Tk Ruby-gnome2 (ruby-gnome2.sourceforge.jp/) Ruby + Swing (java) Ruby / Qt WxRuby FxRuby Aplicaciones web Ruby on Rails IDE Netbeans Aptana (Eclipse plugin)
    20. Ejemplos Twitter (http://www.twitter.com/) Github (http://www.github.com/) Justin.tv (http://www.justin.tv/) SUSE Studio (http://susestudio.com) Watir (http://rubyforge.org/projects/wtr/)
    SlideShare Zeitgeist 2009

    + flekosoflekoso Nominate

    custom

    192 views, 0 favs, 2 embeds more stats

    Charla introductoria al lenguaje Ruby dictada por M more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 192
      • 181 on SlideShare
      • 11 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 2
    Most viewed embeds
    • 9 views on http://blogs.sun.com
    • 2 views on http://planets.sun.com

    more

    All embeds
    • 9 views on http://blogs.sun.com
    • 2 views on http://planets.sun.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags