Junior — Middle
Je možné v programovacom jazyku použiť enumy na uloženie vlastností, ktoré sa vypočítavajú počas behu?
sobes.tech AI
Odpoveď od AI
V Swift (programovacom jazyku pre iOS) môžu výčty (enum) obsahovať vypočítané vlastnosti, ktoré sa vyhodnocujú počas behu. To je možné, pretože v Swift môžu enumy mať vypočítané vlastnosti a metódy, ale nemôžu ukladať meniace sa stavy.
Príklad:
enum Direction {
case north, south, east, west
var description: String {
switch self {
case .north: return "Sever"
case .south: return "Juh"
case .east: return "Východ"
case .west: return "Západ"
}
}
}
let dir = Direction.north
print(dir.description) // Vytlačí "Sever"
Preto môžu výčty mať vypočítané vlastnosti počas behu, ale nemôžu ukladať meniace sa údaje.