Junior — Middle
Kas võib salvestada sulgemisfunktsioone massiivides programmeerimiskeeltes?
sobes.tech AI
Vastus AI-lt
Jah, programmeerimiskeeltes, mis toetavad funktsioone esimese klassi objektidena (näiteks Swift, Objective-C, JavaScript), saab sulgemisi (closures) salvestada massiivides või teistes kogumites.
iOS (Swift) näeb see välja selline:
let closures: [() -> Void] = [
{ print("Esimene sulg") },
{ print("Teine sulg") }
]
closures[0]() // Kuvab: Esimene sulg
See on kasulik, kui soovite salvestada tegevuste komplekti, mida hiljem kutsuda, näiteks sündmuste käsitlejad või viivitusega ülesanded. Peamine on olla tähelepanelik muutujate haaramise suhtes sulgemistes, et vältida mälulekkeid.