In un post precedente abbiamo visto che è possibile creare un Set utilizzando la seguente sintassi.
0 1 2 |
let nums: Set<Int> = [4, 8, 15, 16, 23, 42] |
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.
0 1 2 |
public init(arrayLiteral elements: Self.Element...) |
Questo ci permette di creare un Set con la sintassi vista in precedenza infatti scrivere
0 1 2 |
let nums: Set<Int> = [4, 8, 15, 16, 23, 42] |
equivale a scrivere
0 1 2 |
let nums: Set<Int> = Set(arrayLiteral: 4, 8, 15, 16, 23, 42) |