Junior — Middle
Jaký typ dat lze vytvořit pomocí nepřímých výčtů?
sobes.tech AI
Odpověď od AI
Nepřímé výčty (indirect enums) v iOS (Swift) umožňují vytvářet výčty, které mohou obsahovat přiřazené hodnoty, včetně rekurzivních struktur. S jejich pomocí lze vytvářet složité datové typy, například stromy nebo výrazy.
Příklad: rekurzivní výčet pro aritmetický výraz:
indirect enum AritmetickýVýraz {
case číslo(Int)
case součet(AritmetickýVýraz, AritmetickýVýraz)
case násobení(AritmetickýVýraz, AritmetickýVýraz)
}
// Použití:
let pět = AritmetickýVýraz.číslo(5)
let čtyři = AritmetickýVýraz.číslo(4)
let součet = AritmetickýVýraz.součet(pět, čtyři)
let součin = AritmetickýVýraz.násobení(součet, AritmetickýVýraz.číslo(2))
Tímto způsobem nepřímé výčty umožňují vytvářet rekurzivní a složité datové typy, které nelze vyjádřit běžnými výčty.