Click here to load reader

Ruby on Rails (Introducción a Ruby, la venganza) · PDF fileRuby on Rails (Introduccion a Ruby, la venganza) Esteban Manchado Vel´azquez zoso@foton.es 15 de mayo de 2006

  • View
    228

  • Download
    1

Embed Size (px)

Text of Ruby on Rails (Introducción a Ruby, la venganza) · PDF fileRuby on Rails (Introduccion...

  • Ruby on Rails(Introduccion a Ruby, la venganza)

    Esteban Manchado Velazquezzoso@foton.es

    15 de mayo de 2006

  • Indice

    1 El lenguajeBloques e iteradoresClases basicas de datosModulosSmbolosMixinReflexion y dinamismo

    2 ConclusionesAspectos negativosAspectos positivos

  • Indice

    1 El lenguajeBloques e iteradoresClases basicas de datosModulosSmbolosMixinReflexion y dinamismo

    2 ConclusionesAspectos negativosAspectos positivos

  • Bloques

    Trozo de codigo, con parametros

    Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C

    Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos

    Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje

    Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores)

    Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde)

    Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica)

    Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos

    Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse

    Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Bloques

    Trozo de codigo, con parametros Parecido al lambda de Python y a punteros a funciones en C Se pasan en llamadas a ciertos metodos Son la base del lenguaje Varios usos tpicos:

    Bucles (iteradores) Guardar funciones anonimas (para mas tarde) Ejecutar algo con un recurso (gestion automatica) Inicializacion de atributos Despistar a los que vienen de otros lenguajes

    Se pueden convertir en objetos Proc para pasarse Dos sintaxis: do/end y llaves (parametros entre barras: |i|)

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

    button.onClick do |event, obj, data|puts "Me han pulsado"

    end

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

    button.onClick do |event, obj, data|puts "Me han pulsado"

    end

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

    button.onClick do |event, obj, data|puts "Me han pulsado"

    end

    File.open("foo") do |f|# Hacemos algo con f, que se cierra solo al final

    end

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

    button.onClick do |event, obj, data|puts "Me han pulsado"

    end

    File.open("foo") do |f|# Hacemos algo con f, que se cierra solo al final

    end

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

    button.onClick do |event, obj, data|puts "Me han pulsado"

    end

    File.open("foo") do |f|# Hacemos algo con f, que se cierra solo al final

    end

    UnaClase.new do |o|o.attr1 = ""o.attr2 = 30

    end

  • Ejemplo de bloques

    [1, 2, 3].each {|i| puts i}

    button.onClick do |event, obj, data|puts "Me han pulsado"

    end

    File.open("foo") do |f|# Hacemos algo con f, que se cierra solo al final

    end

    UnaClase.new do |o|o.attr1 = ""o.attr2 = 30

    end

  • Bucles (otra vez)

    a = 0while a < 10 do a += 1 end

    loop doa += 1puts "Bucle manual y aburrido"break if a > 20

    end

    for i in 35..40 do puts "Mejor, pero no" end

  • Bucles estilo Ruby (otra vez)

    0.upto(9) do puts "Mejor" end

    loop doa += 1puts "Bucle manual y aburrido"break if a > 20

    end

    for i in 35..40 do puts "Mejor, pero no" end

  • Bucles estilo Ruby (otra vez)

    0.upto(9) do puts "Mejor" end

    10.times do puts "Bucle rubyano" end

    for i in 35..40 do puts "Mejor, pero no" end

  • Bucles estilo Ruby (otra vez)

    0.upto(9) do puts "Mejor" end

    10.times do puts "Bucle rubyano" end

    (35..40).each do |i| puts "Mucho mejor, #{i}" end

  • Indice

    1 El lenguajeBloques e iteradoresClases basicas de datosModulosSmbolosMixinReflexion y dinamismo

    2 ConclusionesAspectos negativosAspectos positivos

  • Clases basicas de datos

    String

    Integer Array Hash

  • Clases basicas de datos

    String Integer

    Array Hash

  • Clases basicas de datos

    String Integer Array

    Hash

  • Clases basicas de datos

    String Integer Array Hash

  • String

    irb(main):001:0> "Curso de Ruby".reverse=> "ybuR ed osruC"irb(main):002:0> "Curso de Ruby".capitalize=> "Curso de ruby"irb(main):003:0> "Curso de Ruby".upcase=> "CURSO DE RUBY"irb(main):004:0> "Curso de Ruby".downcase=> "curso de ruby"irb(main):005:0> "Curso de Ruby".size=> 13irb(main):006:0> "Curso de Ruby".split(" ")=> ["Curso", "de", "Ruby"]

  • String

    irb(main):001:0> "Curso de Ruby".reverse=> "ybuR ed osruC"irb(main):002

Search related