Sobes.tech
Junior — Middle

Μπορούν να αποθηκευτούν λειτουργίες κλεισίματος μέσα σε πίνακες σε γλώσσες προγραμματισμού;

sobes.tech AI

Απάντηση από AI

Ναι, σε γλώσσες προγραμματισμού που υποστηρίζουν τις συναρτήσεις ως αντικείμενα πρώτης τάξης (π.χ., Swift, Objective-C, JavaScript), οι κλεισίματα (closures) μπορούν να αποθηκευτούν σε πίνακες ή άλλες συλλογές.

Στο iOS (Swift), αυτό φαίνεται έτσι:

let closures: [() -> Void] = [
    { print("Πρώτο κλείσιμο") },
    { print("Δεύτερο κλείσιμο") }
]

closures[0]() // Θα εμφανίσει: Πρώτο κλείσιμο

Αυτό είναι χρήσιμο όταν χρειάζεται να αποθηκεύσετε ένα σύνολο ενεργειών για μελλοντική κλήση, π.χ., χειριστές συμβάντων ή αναβολές εργασιών. Το κύριο είναι να προσέχετε την καταγραφή μεταβλητών μέσα στα κλεισίματα για να αποφύγετε διαρροές μνήμης.