Sobes.tech
Junior — Middle

Могат ли да се използват изброявания в език за програмиране за съхраняване на свойства, които се изчисляват по време на изпълнение?

sobes.tech AI

Отговор от AI

В Swift (език за програмиране за iOS) изброяванията (enum) могат да съдържат изчисляеми свойства, които се изчисляват по време на изпълнение. Това е възможно, защото в Swift, enum-ите могат да имат изчисляеми свойства и методи, но не могат да съхраняват променливо състояние.

Пример:

enum Direction {
    case north, south, east, west

    var description: String {
        switch self {
        case .north: return "Север"
        case .south: return "Юг"
        case .east: return "Изток"
        case .west: return "Запад"
        }
    }
}

let dir = Direction.north
print(dir.description) // Ще изведе "Север"

Следователно, изброяванията могат да имат изчисляеми свойства по време на изпълнение, но не могат да съхраняват променливи данни.