Junior — Middle
Menthetők-e zárófüggvények tömbökben programozási nyelvekben?
sobes.tech MI
Válasz az MI-től
Igen, olyan programozási nyelvekben, amelyek támogatják a függvényeket első osztályú objektumként (például Swift, Objective-C, JavaScript), a zárakat (closure-kat) tárolhatunk tömbökben vagy más gyűjteményekben.
iOS (Swift) esetén ez így néz ki:
let closures: [() -> Void] = [
{ print("Első zár") },
{ print("Második zár") }
]
closures[0]() // Kiírja: Első zár
Ez akkor hasznos, ha egy műveletsorozatot szeretnénk később meghívni, például eseménykezelőket vagy késleltetett feladatokat. Fontos figyelni a változók elfogására a zárakon belül, hogy elkerüljük a memória szivárgásokat.