Domknięcie (programowanie)
Domknięcie – w metodach realizacji języków programowania jest to obiekt wiążący funkcję oraz środowisko, w jakim ta funkcja ma działać. Środowisko przechowuje wszystkie obiekty wykorzystywane przez funkcję, niedostępne w globalnym zakresie widoczności. Realizacja domknięcia jest zdeterminowana przez język, jak również przez kompilator.
Domknięcia występują głównie w językach funkcyjnych, w których funkcje mogą zwracać inne funkcje, wykorzystujące zmienne utworzone lokalnie.
Przykład[edytuj | edytuj kod]
Przykład domknięcia w języku Python:
def mnozenie_przez(mnoznik): def domnoz(mnozna): # funkcja wykorzystuje dwie zmienne: # mnozna - dostępną dla użytkownika # mnoznik - zdefiniowaną tylko wewnątrz funkcji 'mnozenie_przez' return mnozna * mnoznik return domnoz iloczyn_5_przez = mnozenie_przez(5) print iloczyn_5_przez(12) # zostanie wypisane 12*5, czyli 60
funkcja iloczyn_5_przez oprócz argumentu formalnego mnozna ma dostęp (poprzez domknięcie) do kopii wartości mnoznik przekazanej w wywołaniu funkcji mnozenie_przez (w tym przykładzie mnoznik to liczba 5). Poniżej ten sam przykład w języku JavaScript:
function mnozenie_przez(x) { return function(y) { return x * y; }; } var iloczyn_5_przez = mnozenie_przez(5); print(iloczyn_5_przez(12)); // 60
Bibliografia[edytuj | edytuj kod]
- Peter Van Roy, Seif Haridi: Programowanie. Koncepcje, techniki i modele. s. 84-85. ISBN 83-7361-979-8.

