Junior
Quali sono i casi nell'enumerazione (enum)?
sobes.tech AI
Risposta dell'AI
Esistono i seguenti casi nell'elenco:
-
Casi di valore grezzo: Sono associati a un valore specifico del tipo di base (Int, String, Character, Float). I valori sono impostati esplicitamente o generati automaticamente per Int e String.
enum CompassPoint: String { case north = "N" case south // rawValue non specificato, di default sarà "south" case east = "E" case west = "W" } let direction = CompassPoint.north.rawValue // "N" -
Casi con valore associato: Possono avere valori correlati di qualsiasi tipo, che forniscono un contesto o dati aggiuntivi. Non hanno tipo di base né raw-value.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let productBarcode = Barcode.upc(8, 85909, 51226, 3) -
Casi ricorsivi: Sono contrassegnati con la parola chiave
indirecte consentono all'enumerazione di avere valori correlati dello stesso tipo di enumerazione. Sono usati per rappresentare strutture di dati ricorsive, come gli alberi.indirect enum ArithmeticExpression { case number(Int) case addition(ArithmeticExpression, ArithmeticExpression) case multiplication(ArithmeticExpression, ArithmeticExpression) } let five = ArithmeticExpression.number(5) let four = ArithmeticExpression.number(4) let sum = ArithmeticExpression.addition(five, four) let product = ArithmeticExpression.multiplication(sum, ArithmeticExpression.number(2))