Junior — Middle
Aký typ dát je možné vytvoriť pomocou nepriameho zoznamu?
sobes.tech AI
Odpoveď od AI
Nepriame výčty (indirect enums) v iOS (Swift) umožňujú vytvárať výčty, ktoré môžu obsahovať priradené hodnoty, vrátane rekurzívnych štruktúr. S ich pomocou je možné vytvárať zložité dátové typy, ako sú stromy alebo výrazy.
Príklad: rekurzívny výčet pre aritmetický výraz:
indirect enum AritmetickýVýraz {
case číslo(Int)
case súčet(AritmetickýVýraz, AritmetickýVýraz)
case násobenie(AritmetickýVýraz, AritmetickýVýraz)
}
// Použitie:
let päť = AritmetickýVýraz.číslo(5)
let štyri = AritmetickýVýraz.číslo(4)
let súčet = AritmetickýVýraz.súčet(päť, štyri)
let súčin = AritmetickýVýraz.násobenie(súčet, AritmetickýVýraz.číslo(2))
Týmto spôsobom nepriame výčty umožňujú vytvárať rekurzívne a zložité dátové typy, ktoré nie je možné vyjadriť bežnými výčtami.