Junior — Middle
Μπορούν να αποθηκευτούν λειτουργίες κλεισίματος μέσα σε πίνακες σε γλώσσες προγραμματισμού;
sobes.tech AI
Απάντηση από AI
Ναι, σε γλώσσες προγραμματισμού που υποστηρίζουν τις συναρτήσεις ως αντικείμενα πρώτης τάξης (π.χ., Swift, Objective-C, JavaScript), οι κλεισίματα (closures) μπορούν να αποθηκευτούν σε πίνακες ή άλλες συλλογές.
Στο iOS (Swift), αυτό φαίνεται έτσι:
let closures: [() -> Void] = [
{ print("Πρώτο κλείσιμο") },
{ print("Δεύτερο κλείσιμο") }
]
closures[0]() // Θα εμφανίσει: Πρώτο κλείσιμο
Αυτό είναι χρήσιμο όταν χρειάζεται να αποθηκεύσετε ένα σύνολο ενεργειών για μελλοντική κλήση, π.χ., χειριστές συμβάντων ή αναβολές εργασιών. Το κύριο είναι να προσέχετε την καταγραφή μεταβλητών μέσα στα κλεισίματα για να αποφύγετε διαρροές μνήμης.