Sulund (informaatika)
From Wikipedia, the free encyclopedia
Remove ads
Sulund on informaatikas avaldis (harilikult funktsioon), millel võib olla vabu muutujaid koos keskkonnaga, mis neid seob ("sulgub" ümber nende muutujate).[1]
Mõnikord nimetatakse sulunditeks ka lihtsalt anonüümseid funktsioone.[2]
Sulundeid kasutades saab objektorienteeritud programmeerimiseks implementeerida objekte ja klasse.[3]
Näited
Näiteks defineerime programmeerimiskeeles Scheme kõrgemat järku funktsiooni make-counter
, mis tagastab loenduri: funktsiooni, mis suurendab igal väljakutsel tema loomise kontekstis nähtavat muutujat count
ühe võrra ja tagastab saadud väärtuse:
(define make-counter ()
(let ((count 0))
(lambda ()
(set! cnt (+ count 1)))))
Seejärel loome make-counter
abil kaks loendurit:
(define counter-a (make-counter))
(define counter-b (make-counter))
Võime hakata kumbagi funktsiooni välja kutsuma ja näeme, et kummagi loendur suureneb omaette:
(counter-a) ;; --> 1
(counter-a) ;; --> 2
(counter-a) ;; --> 3
(counter-b) ;; --> 1
(counter-b) ;; --> 2
(counter-b) ;; --> 3
(counter-a) ;; --> 4
(counter-a) ;; --> 5
(counter-a) ;; --> 6
(counter-b) ;; --> 4
Remove ads
Viited
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads