Il Protocollo ExpressibleByArrayLiteral

In un post precedente abbiamo visto che è possibile creare un Set utilizzando la seguente sintassi.

Tuttavia la sintassi alla destra del simbolo = è esattamente quella usata per definire un Array. In che modo Swift inizializza quindi un valore di tipo Set utilizzando un Array?

Il tipo Set è conforme al protocollo ExpressibleByArrayLiteral e quindi implementa il seguente initialializer.

Questo ci permette di creare un Set con la sintassi vista in precedenza infatti scrivere

equivale a scrivere

Definire un Tipo conforme a ExpressibleByArrayLiteral

Possiamo noi stessi definire un tipo conforme a ExpressibleByArrayLiteral e usufruire della stessa sintassi che usiamo per creare un Set.

Vogliamo creare un tipo Sentence che riceve una lista di stringhe e permette poi di stamparle in un unica Stringa con un punto alla fine.

Ora possiamo scrivere

A questo punto abbiamo creato un valore di tipo Sentence e possiamo stamparlo.

Ricordate che al momento in cui lo passeremo alla print verrà automaticamente invocata la computed property description.

 

 

 

Luca Angeletti

Trainer • Developer • Writer

Lascia un commento

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