Junior
¿Qué casos existen en la enumeración (enum)?
sobes.tech AI
Respuesta de la IA
Existen los siguientes casos en la enumeración:
-
Casos de valor en bruto: Se asocian con un valor específico del tipo base (Int, String, Character, Float). Los valores se establecen explícitamente o se generan automáticamente para Int y String.
enum CompassPoint: String { case north = "N" case south // rawValue no especificado, por defecto será "south" case east = "E" case west = "W" } let direction = CompassPoint.north.rawValue // "N" -
Casos con valor asociado: Pueden tener valores relacionados de cualquier tipo, que proporcionan contexto adicional o datos. No tienen tipo base ni raw-value.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let productBarcode = Barcode.upc(8, 85909, 51226, 3) -
Casos recursivos: Se marcan con la palabra clave
indirecty permiten que la enumeración tenga valores relacionados del mismo tipo de enumeración. Se usan para representar estructuras de datos recursivas, como árboles.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))