Sobes.tech
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.