Convertire un FOR-BREAK in Functional Programming con Swift

In questo articolo vedremo come convertire un ciclo FOR che utilizza il comando break in stile Functional Programming.

Il comando break permette di interrompere un ciclo FOR quando una certa condizione è verificata e quindi evitare l’esecuzione di cicli inutili.

Immaginiamo di avere un Array di interi e di voler sommare tutti i valori finché si incontra uno 0.

In questo caso stiamo eseguendo il carpo del ciclo FOR solo 5 volte, e questo è ottimo.

Come possiamo convertire questo codice in Functional Programming?

Soluzione

Abbiamo visto in precedenza che Swift 3.1 introduce il metodo prefix per estrarre

Vediamo come funziona.

La riga #2 produce sottoarray selezionando tutti gli elementi di nums finché sono diversi da 0.

Successivamente alla riga #3 il metodo reduce combina tutti questi elementi usando la somma.

Siccome il metodo prefix scorre l’array di origine fino a quando la condizione è verificata, questo codice ha la stessa velocità del FOR che abbiamo visto in precedenza. Inoltre è un codice più chiaro e non fa uso di valori mutabili.

Luca Angeletti

Trainer • Developer • Writer

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *