Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale

Funzioni di ordine superiore

In Raku una subroutine è un valore ordinario: puoi conservarla in una variabile, passarla a un’altra subroutine e restituirla come risultato. Una subroutine che prende o restituisce un’altra subroutine si chiama funzione di ordine superiore, ed è il cuore della programmazione funzionale.

Hai già usato funzioni di ordine superiore senza chiamarle per nome: map, grep e sort prendono tutte un blocco di codice come argomento. Questa sezione mostra come scrivere le tue.

Questi metodi che prendono blocchi sono anche un posto naturale per la forma della chiamata con i due punti, che ti permette di lasciar cadere le parentesi — (1..10).grep: * %% 2 invece di (1..10).grep(* %% 2). È introdotta in Chiamare con i due punti, e la scorciatoia * che usa è la stella Whatever.

Argomenti di questa sezione

Pratica

Risolvi 2 quiz sul contenuto di questa sezione.

Esercizi

Questa sezione contiene 3 esercizi. Guarda tutti gli argomenti di questa sezione prima di iniziare gli esercizi.

  1. Applicate due volte
  2. Create un moltiplicatore
  3. Filtrare con un blocco

Soluzione: Numero triangolare   |   Passare subroutine