Junior
Millised juhtumid on enum'is?
sobes.tech AI
Vastus AI-lt
Järgnevad juhtumid on loendis:
-
Raa väärtuse juhtumid: Seostatud konkreetse põhiliigi väärtusega (Int, String, Character, Float). Väärtused määratakse selgelt või automaatselt Int ja String jaoks.
enum CompassPoint: String { case north = "N" case south // rawValue ei ole määratud, vaikimisi on "south" case east = "E" case west = "W" } let direction = CompassPoint.north.rawValue // "N" -
Seotud väärtuse juhtumid: Võivad omada seotud väärtusi mis tahes tüüpi, mis pakuvad täiendavat konteksti või andmeid. Neil ei ole põhiliiki ega raw-value.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let productBarcode = Barcode.upc(8, 85909, 51226, 3) -
Rekursiivsed juhtumid: Märgitud võtmesõnaga
indirectja võimaldavad loendil omada seotud väärtusi sama tüüpi loendist. Neid kasutatakse rekursiivsete andmestruktuuride, näiteks puude, esitamiseks.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))