Ejercicio 8: Bloques

Los arrays entienden mensajes aún más interesantes, que provienen del paradigma funcional:

 [20, 4, 5, 10].map { |it| it * 2}
=> [40, 8, 10, 20] # devuelve el resultado de aplicar
                   # una transformación a cada elemento

 [20, 4, 5, 10].select { |it| it > 5  }
=> [20, 10] # filtra los elementos según una condición

 [20, 4, 5, 10].inject(0) { |accum, it| accum + it }
=> 39 # reduce una lista utilizando una operación binaria

Estos se diferencian de los que vimos anteriormente porque toman un bloque de código: una porción de código que puede ser pasada por parámetro y ejecutada más tarde.

:warning: Los bloques son la única cosa en ruby que no es un objeto.

Probá en la consola los ejemplos de código dados. Investigá además qué hacen los siguientes mensajes:

  • any? y all?
  • reject
  • each
  • flat_map

Tenés que iniciar sesión antes de empezar a enviar tus soluciones