Domknięcie (programowanie)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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]

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).

Bibliografia [edytuj]

  1. Peter Van Roy, Seif Haridi: Programowanie. Koncepcje, techniki i modele. s. 84-85. ISBN 83-7361-979-8.

Zobacz też [edytuj]