Junior — Middle
Ποιοι περιορισμοί υπάρχουν για τις ακατέργαστες τιμές (raw value) σε συγκεκριμένους τύπους ή γλωσσικές κατασκευές;
sobes.tech AI
Απάντηση από AI
Στο Swift, οι ακατέργαστες τιμές (raw values) χρησιμοποιούνται, για παράδειγμα, σε καταχωρίσεις (enum) με rawValue. Οι βασικοί περιορισμοί για rawValue:
- Η raw τιμή πρέπει να είναι του ίδιου τύπου για όλες τις περιπτώσεις του enum.
- Ο τύπος της rawValue πρέπει να είναι λεκτικός (π.χ., String, Int, Character, ή άλλος τύπος που υποστηρίζει λεκτικά).
- Δεν επιτρέπεται η χρήση σύνθετων τύπων ή δομών ως rawValue.
- Όλες οι rawValues πρέπει να είναι μοναδικές εντός του enum.
Παράδειγμα enum με rawValue:
enum Direction: String {
case north = "N"
case south = "S"
case east = "E"
case west = "W"
}
Εδώ, η rawValue είναι μια συμβολοσειρά, και όλες οι τιμές είναι μοναδικές. Αν η rawValue δεν καθοριστεί ρητά, για το Int θα αριθμηθούν αυτόματα από το 0.