Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional

Funciones de orden superior

En Raku, una subrutina es un valor ordinario: puedes guardarla en una variable, pasarla a otra subrutina y devolverla como resultado. Una subrutina que recibe o devuelve otra subrutina se llama función de orden superior, y es el corazón de la programación funcional.

Ya has usado funciones de orden superior sin nombrarlas: map, grep y sort reciben todas un bloque de código como argumento. Esta sección muestra cómo escribir las tuyas.

Estos métodos que reciben bloques son también un sitio natural para la forma de la llamada con dos puntos, que te permite quitar los paréntesis: (1..10).grep: * %% 2 en lugar de (1..10).grep(* %% 2). Se presenta en Llamar con dos puntos, y el atajo * que usa es la estrella Whatever.

Temas de esta sección

Práctica

Resuelve 2 cuestionarios sobre el contenido de esta sección.

Ejercicios

Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.

  1. Aplique dos veces
  2. Cree un multiplicador
  3. Filtrar con un bloque

Solución: Número triangular   |   Pasar subrutinas