Skip to main content

Il metodo joined in Swift

In questo articolo vedremo un’altro strumento offerto dalla Functional Programming che ci permette di risolvere un problema che altrimenti avrebbe rischiesto la scrittura di un ciclo FOR.

Abbiamo un array di array, ad esempio fatto in questo modo:

Nello specifico questo è un Array di Array di tipo Int, volendo esplicitamente annotare il tipo di lists scriveremmo

Bene, il nostro obiettivo è ottenere un nuovo array definito come segue.

Vogliamo insomma unire tutti gli array di lists in un unico Array.

Paradigma Imperativo

Volendo scrivere un ciclo FOR potremmo usare il seguente codice

Paradigma Dichiarativo: Functional Programming

Tuttavia, sebbene abbiamo piena fiducia nella nostra capacita di scrivere codice con 0 bug 😅, preferiamo utilizzare il paradigma dichiarativo.

Vediamo come fare

Tutti qui.

Come immaginerete, il metodo jointed() è disponibile su una Collection di Collection e ritorna tutti i valori (delle sotto Collection) uniti in un unica Collection.

Perché stiamo passando lists.joined() all’initializer di Array?

Ottima domanda, grazie per aver chiesto.

Il metodo joined è di tipo lazy, questo significa che per motivi di performance ritorna una serie di views ai valori originale.

Per fare trasformare queste views in una vera lista di elementi passiamo quindi il risultato di joined() all’initializer di Array.

Trainer • Developer • Writer

Luca Angeletti

Trainer • Developer • Writer

Lascia un commento

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