Repaso

  1. ¿Qué es Proc?
  2. ¿Que queda en z?
    z  = ->(x){ x*x }[4]
    
  3. ¿Qué valor contiene @fn al final de la ejecución?
      def tutu(p)
        @fn = 3; p[]
      end
      fn = -> {@fn = 88 }
      tutu(fn)
      fn[]
    
  4. ¿Cuál es la salida?
    class Array
      def each!(code)
        self.each_with_index do |n,i|
          self[i] = code[n]
        end
      end
    end
    puts [1,2,3].each!(lambda { |n|  n+1 })
    
  5. ¿Cuál es la salida?
    [15] pry(main)> { 2+3 }
    
  6. ¿Cuál es la salida?
    def tutu
      z = proc { return }
      z.call
      puts "In a_method"
    end
    tutu()
    
    Véase 13.5.5
  7. ¿Cuál es la salida?
    def tutu
      z = lambda { return }
      z.call
      puts "In a_method"
    end
    tutu()
    
  8. ¿Qué es un iterador?
  9. ¿Qué valor contiene la variable v definida en la línea 1 al final del programa?
      v = 34 # linea 1 
      def tutu
        yield 3.14159
      end
      tutu { |v| puts v }
    
  10. ¿Qué es un bloque?

Casiano Rodriguez León 2015-01-07