Funkcja (często anonimowa) powiązana ze środowiskiem odwołującym się w swoim oryginalnym zakresie leksykalnym w taki sposób, że nadal będzie miała dostęp do tego środowiska (jego zmiennych i innych odniesień), jeśli zostanie wykonana poza tym zakresem.
Od czasu do czasu widzę wzmiankę o „zamknięciach” i próbowałem to sprawdzić, ale Wiki nie podaje wyjaśnienia, które rozumiem. Czy ktoś mógłby mi pomóc tutaj?
Pojawił się nowy szum z długo oczekiwanymi wyrażeniami lambda w Javie 8; co 3 dni pojawia się z nimi kolejny artykuł o tym, jak fajni są. O ile rozumiem wyrażenie lambda jest niczym więcej niż anonimową klasą wewnętrzną z jedną metodą (przynajmniej na poziomie kodu bajtowego). Poza tym ma jeszcze …
Zastanawiam się, jakie są techniczne różnice w implementacji między C # i Scalą oraz jak oba rozwiązania porównują się z pomysłami i obawami dotyczącymi implementacji wyrażonymi w e-mailu Peek Past lambda Briana Goetza, wysłanym na listę mailingową projektu Lambda (JSR 335) ? Z e-maila: Badaliśmy drogę „może lambdas powinny być …
Wyrażenie lambda w języku C # ma również zamknięcia, ale rzadko jest omawiane przez społeczności lub książki w języku C #. Widzę o wiele więcej osób zajmujących się JavaScript i książek mówi o jego zamknięciach niż w świecie C #. Dlaczego?
Oto interesująca dyskusja na temat zasady korespondencji Tennenta i krótki opis Neala Gaftera : Zasada dyktuje, że wyrażenie lub oświadczenie, gdy jest zapakowane w zamknięcie, a następnie natychmiast przywołane, powinno mieć takie samo znaczenie, jak przed zapakowaniem w zamknięcie. Każda zmiana semantyki podczas zawijania kodu w zamknięciu jest prawdopodobnie wadą …
Niedawno uczestniczyłem w kursie internetowym na temat języków programowania, w którym zaprezentowano między innymi zamknięcia. Zapisuję dwa przykłady zainspirowane tym kursem, aby podać kontekst, zanim zadam pytanie. Pierwszym przykładem jest funkcja SML, która tworzy listę liczb od 1 do x, gdzie x jest parametrem funkcji: fun countup_from1 (x: int) = …
Jest to jedna z najczęściej omawianych funkcji planowanych w Javie: Zamknięcia. Wielu z nas tęskni za nimi. Niektórzy z nas (w tym ja) stali się trochę niecierpliwi i wybrali języki skryptowe, aby wypełnić pustkę. Ale po zamknięciu wreszcie oprogramowania Java: jak wpłyną na społeczność Java? Czy zaawansowanie języków skryptowych ukierunkowanych …
Wiele współczesnych języków programowania obsługuje pewne pojęcia zamknięcia , np. Fragmentu kodu (bloku lub funkcji) Może być traktowany jako wartość, a zatem przechowywany w zmiennej, przekazywany do różnych części kodu, definiowany w jednej części programu i wywoływany w zupełnie innej części tego samego programu. Może przechwytywać zmienne z kontekstu, w …
Trudno powiedzieć, o co tu pytają. To pytanie jest dwuznaczne, niejasne, niepełne, zbyt szerokie lub retoryczne i na obecną formę nie można w rozsądny sposób odpowiedzieć. Aby uzyskać pomoc w wyjaśnieniu tego pytania, aby można je było ponownie otworzyć, odwiedź centrum pomocy . Zamknięte 8 lat temu . Dlaczego jest …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.