Sobes.tech
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.