-
Data: 2011-10-16 17:56:45
Temat: Re: lambda i clojures
Od: Piotr Chamera <p...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2011-10-16 19:11, f...@g...SKASUJ-TO.pl pisze:
> teraz dla odmiany bez problemu wydaje sie zrozumialem o co ci chodzi
> ale o ile tak to jest to dziwne (przynajmniej na gruncie c)
>
> chodzi ci o cos takiego:
>
>
> wskaznikDoFunkcji funkcjaOut()
> {
> int x;
> int y;
>
> return funkcjaIn() {
>
> //uzywa tu x i y
>
> }
>
> }
> to ze funkcjaIn chce dzialac na zmiennych z funkcji out
> to mozna uznac jeszcze za dosyc naturalne (i nie ma
> z tym semantycznie problemu, mozna np przeciagnac przez argumenty
> dziwniejsze jest to ze ktos chce uzywac funkcjiIn po zniszczeniu
Jeśli spojrzeć na to tak, że funkcjaIn jest rezultatem zwracanym
przez funkcjaOut, to jest całkiem naturalne, że tego rezultatu
używamy nadal po zakończeniu działania funkcjiOut.
> funkcjiOut - jesli tylko o to w tym chodzi to x i y mozna zrobic
> statycznymi i osiagnie sie efekt ze wszystko ok chyba ze
> chodzi o cos innego/wiecej
to nie zadziała. Co się stanie w tym przypadku
jeśli a i b będą static?
(jakieś pseudo C, mam nadzieję, że zrozumiałe):
funkcja funkcjaOut(int a, int b)
{
return funkcjaIn(int x) {
return a * x + b;
}
}
funkcja1 = funkcjaOut(1 2);
funkcja2 = funkcjaOut(-2 5);
i rysujemy sobie wykres dwu funkcji:
for i = -10; i <= 10; i++ {
plot(funkcja1(i));
plot(funkcja2(i));
}
> dalej nie rozumiem w jakich wypadkach to moze sie jakos specjalnie
> przydac (moze sa jakies wypadki ale dla mnie to osobliwie nietypowe,
Korzystanie z tego jest naturalne, kiedy język udostępnia odpowiednie
mechanizmy...
> (musialbym sie zastanowic) chyab ze ta funkcja jest wstawiona jedna
> w druga dla picu i mozna je traktowac jak rownolegle ktore chca
> po prostu operowac na tych wspoldzielonych statikach
Następne wpisy z tego wątku
- 16.10.11 20:19 Bronek Kozicki
- 17.10.11 04:38 Maciej Pilichowski
- 17.10.11 05:17 p...@p...onet.pl
- 17.10.11 05:25 p...@p...onet.pl
- 17.10.11 06:32 Piotr Chamera
- 17.10.11 07:18 Stachu 'Dozzie' K.
- 17.10.11 07:20 Stachu 'Dozzie' K.
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz