eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingZapytanieRe: Wam wszytskim odbilo z tym Lispem :)
  • Data: 2012-07-26 17:41:54
    Temat: Re: Wam wszytskim odbilo z tym Lispem :)
    Od: Adam Przybyla <a...@r...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Piotr Chamera <p...@p...onet.pl> wrote:
    > W dniu 2012-07-26 16:31, Adam Przybyla pisze:
    >> Piotr Chamera <p...@p...onet.pl> wrote:
    >>> W dniu 2012-07-26 11:18, Adam Przybyla pisze:
    >>>> Piotr Chamera <p...@p...onet.pl> wrote:
    >>>>> W dniu 2012-07-26 10:29, AK pisze:
    >>>>>> Użytkownik "Piotr Chamera" <p...@p...onet.pl> napisał:
    >>>>>>> (setq r
    >>>>>>> (let* ((a 8)
    >>>>>>> (b (+ a 7))
    >>>>>>> (c 12)
    >>>>>>> (d 2))
    >>>>>>> (* (+ a b) (- c d))))
    >>> ...
    >>>>>>> A teraz może podaj odpowiednik tego kodu w Pythonie,
    >>>>>>> bo to poniżej to nie jest to samo:
    >>> r = (lambda:
    >>> a = 8
    >>> b = a + 7
    >>> c = 12
    >>> d = 2
    >>> return (a + b) * (c - d))()
    >> ... nie do konca, to trzeba troche rozumiec jak to dziala w lispie w oparciu
    >> o rachunek lambda, poprawne rozwiazanie, dla konstrukcji let* wyglada tak:
    >> r=(lambda a: (lambda b: (lambda c: (lambda d: (a + b) * (c -
    d))(d=2))(c=12))(b=a+7))(a=8)
    >
    > Dzięki, to mi trochę rozjaśniło...
    > W moim zapisie potraktowałem ,,lambdę" jako po prostu anonimowy analog
    > do ,,def" (tak jakbym tworzył normalną pythonową funkcję, tylko bez
    > nazwy - a czegoś takiego w języku nie ma). Nie pomyślałem, żeby
    > naprawdę rozpisać to za pomocą tej ,,rzeczywiście dostępnej" w języku
    > lambdy. W tym wypadku, ponieważ b, c i d są niezależne, można to nawet
    > trochę skrócić:
    ... tz jak zmienisz zadanie, to rozwiazanie jest takie jak podales:

    >
    > r=(lambda a: (lambda b, c, d: (a + b) * (c - d))(b=a+7, c=12, d=2))(a=8)
    >
    > będzie to analogiczne do
    >
    > (setq r (let ((a 8))
    > (let ((b (+ a 7))
    > (c 12)
    > (d 2))
    > (* (+ a b) (- c d)))))
    Zgadza sie w 100%;-) Z powazaniem
    Adam Przybyla

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: