-
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
- "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
- 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?
Najnowsze wątki
- 2025-04-05 Wyrok dożywocia dla Polki
- 2025-04-04 Prezydium Sejmu Tuskiego orzekło: Poseł KO mecenas Roman Giertych NIE jest mordercą (w żadnym sensie tego słowa?)
- 2025-04-04 Reset komóry
- 2025-04-04 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-04 Zielonka => Key Account Manager IT <=
- 2025-04-04 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2025-04-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-04-04 Białystok => NMS System Administrator <=
- 2025-04-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-04-04 Warszawa => Generative AI Engineer <=
- 2025-04-04 Warszawa => Gen AI Engineer <=
- 2025-04-04 Warszawa => Senior Programmer C <=
- 2025-04-04 Jak odróżnić myjki wibrujące od ultradźwiękowych.
- 2025-04-03 Ledy na wyłączniku czasowym błyskają
- 2025-04-03 Mapy w android-auto