Junior
Welke gevallen zijn er in de enumeratie (enum)?
sobes.tech AI
Antwoord van AI
De volgende gevallen bestaan in de enumeratie:
-
Raw-waarde gevallen: Worden geassocieerd met een specifieke waarde van het basistype (Int, String, Character, Float). De waarden worden expliciet ingesteld of automatisch gegenereerd voor Int en String.
enum CompassPoint: String { case north = "N" case south // rawValue niet gespecificeerd, standaard wordt "south" case east = "E" case west = "W" } let direction = CompassPoint.north.rawValue // "N" -
Geassocieerde waarde gevallen: Kunnen gerelateerde waarden van elk type hebben, die extra context of gegevens bieden. Ze hebben geen basistype en geen raw-value.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let productBarcode = Barcode.upc(8, 85909, 51226, 3) -
Recursieve gevallen: Worden gemarkeerd met het sleutelwoord
indirecten stellen de enumeratie in staat om gerelateerde waarden van hetzelfde type enumeratie te hebben. Ze worden gebruikt om recursieve datastructuren zoals bomen te vertegenwoordigen.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))