Junior
Enum'da hangi durumlar vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Aşağıdaki durumlar enumda mevcuttur:
-
Ham-değer durumları: Belirli bir temel türle (Int, String, Character, Float) ilişkilidirler. Değerler açıkça belirlenir veya otomatik olarak Int ve String için üretilir.
enum CompassPoint: String { case north = "N" case south // rawValue belirtilmemiş, varsayılan "south" olacak case east = "E" case west = "W" } let direction = CompassPoint.north.rawValue // "N" -
İlişkili-değer durumları: Herhangi bir türde ilişkili değerler içerebilirler, bu da ek bağlam veya veri sağlar. Temel türleri veya raw-value'ları yoktur.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let productBarcode = Barcode.upc(8, 85909, 51226, 3) -
Yinelenen durumlar:
indirectanahtar kelimesiyle işaretlenirler ve enum'un aynı türden ilişkili değerlere sahip olmasına izin verirler. Ağaçlar gibi yinelenen veri yapılarını temsil etmek için kullanılırlar.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))