-
Data: 2011-10-16 09:01:00
Temat: Re: lambda i clojures
Od: " " <f...@g...SKASUJ-TO.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Piotr Chamera <p...@p...onet.pl> napisał(a):
> W dniu 2011-10-16 07:25, f...@g...SKASUJ-TO.pl pisze:
> > Piotr Chamera<p...@p...onet.pl> napisaĹ(a):
> >> Closure to taka funkcja powiÄ zana ze Ĺrodowiskiem, w ktĂłrym zostaĹa
> >> zdefiniowana. N.p.:
> >>
> >> (let ((licznik 0))
> >> (defun nastÄpny () (setf licznik (1+ licznik))))
> >>
> >> CL-USER> (nastÄpny)
> >> 1
> >>
> >> CL-USER> licznik
> >> Unbound variable: LICZNIK
> >> [Condition of type UNBOUND-VARIABLE]
> >>
> >> CL-USER> (nastÄpny)
> >> 2
> >>
> >> W Wikipedii jest to caĹkiem dobrze opisane:
> >> http://en.wikipedia.org/wiki/Closure_%28computer_sci
ence%29
> >
> > a czym sie rozni od zwyklej normalnej 'niepowiazanej' funkcji?
> > w tym prztkladzie wyzej nie rozumiem co to jest i co
> > to ma ilustrowac:
> >
> >> CL-USER> licznik
> >> Unbound variable: LICZNIK
> >> [Condition of type UNBOUND-VARIABLE]
>
> Ĺťe âlicznikâ nie jest dostÄpny globalnie - po wyjĹciu z zasiÄgu
> konstrukcji âletâ przestaĹ byÄ widoczny, ale po wywoĹaniu funkcji
> nadal jest dostÄpny - to fragment Ĺrodowiska, w ktĂłrym funkcja byĹa
> definiowana, ktĂłry zostaĹ przez niÄ przechwycony. Nie moĹźe byÄ
> odĹoĹźony na stosie, jest zewnÄtrzny w stosunku do ciaĹa funkcji i moĹźe
> przenosiÄ informacjÄ pomiÄdzy jej wywoĹaniami. Ĺťeby to zrobiÄ w C
> trzeba by pewnie zaalokowaÄ jakiĹ obiekt na stercie i przekazaÄ
> do funkcji wskaĹşnik do niego.
>
> Po rozszerzeniu pierwszego przykĹadu o drugÄ operacjÄ na
> liczniku mamy najprostszy obiekt z dwiema operacjami na nim
> i enkapsulacjÄ jego wewnÄtrznego stanu.
>
> (let ((licznik 0))
> (defun nastÄpny () (setf licznik (1+ licznik)))
> (defun poprzedni () (setf licznik (1- licznik))))
>
denerwuje mnie to niepowiernie bo nic z tego nie rozumiem,
np w c funkcja jest definiowana tylko raz i dotego w globalnym
kontekscie wiec powiedzmy ze to c nie dotyczy
ale czy tam gdzie tego sie uzywa taka funkcje definiuje sie kilka
razy w roznych kontekstach? czy kazda z nich przechwytuje ten kontekst
raczej przez referencje czy przez wartosc? czy np jesli jest 5 definicji
to te wspolne przechwycine dane sa wspolne dla tych definicji?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 16.10.11 10:09 Piotr Chamera
- 16.10.11 11:19 Piotr Chamera
- 16.10.11 12:24
- 16.10.11 12:52 Piotr Chamera
- 16.10.11 13:15
- 16.10.11 13:37 Edek
- 16.10.11 13:46 Piotr Chamera
- 16.10.11 14:17 Stachu 'Dozzie' K.
- 16.10.11 14:27
- 16.10.11 14:49 Piotr Chamera
- 16.10.11 15:26 bartekltg
- 16.10.11 16:22 Piotr Chamera
- 16.10.11 16:43 Bronek Kozicki
- 16.10.11 16:44 Bronek Kozicki
- 16.10.11 17:11
Najnowsze wątki z tej grupy
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-15 Nowy rodzaj zagrożenie ze strony elektryków :)
- 2025-05-15 Bus inpostu, przemycający ludzi, walnął w nocy w tira zaparkowanego na autostradzie 5 ofiar
- 2025-05-15 Alert RCB w sprawie dziewczynki
- 2025-05-15 Kurierski bus przemycał ludzi i zasnął nad ranem za kierownicą.
- 2025-05-15 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-05-14 Tsue i smsy
- 2025-05-14 Biedna kobieta jechała samochodem na targ aby sprzedać klamoty i dostała 300 zł mandatu
- 2025-05-14 hot spot traci connected device
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 Wariant rumuński
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Niemcy: Przychody ze sprzedaży produktów Fairtrade w 2024r. wzrosły o rekordowe 13% do 2,9GEUR