eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programminglambda, clojures › Re: lambda i clojures
  • 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



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: