Sobes.tech
Junior — Middle

პროგრამირების ენაში შესაძლებელია თუ არა გამოთვლილი თვისებების შენახვა Enumeration-ით?

sobes.tech AI

პასუხი AI-სგან

Swift (iOS-ის პროგრამირების ენა)-ში, enum-ები (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) // გამოიტანს "ჩრდილოეთი"

ამიტომ, enum-ებს შეუძლიათ ჰქონდეთ გამოთვლით თვისებები შესრულების დროს, მაგრამ ვერ ინახავენ მუტაბელურ მონაცემებს.