Loading AI tools
Z Wikipedii, wolnej encyklopedii
Domknięcie – w metodach realizacji języków programowania jest to obiekt wiążący funkcję lub referencję do funkcji oraz środowisko mające wpływ na tę funkcję w momencie jej definiowania. Środowisko przechowuje wszystkie nielokalne obiekty wykorzystywane przez funkcję. 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 (tzw. funkcje wyższego rzędu), wykorzystujące zmienne utworzone lokalnie. Aby funkcje tego typu były możliwe, muszą one być typem pierwszoklasowym.
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);
console.log(iloczyn_5_przez(12)); // 60
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.