eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingZapytanie › Re: Wam wszytskim odbilo z tym Lispem :)
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!eternal-september.org!feeder.eternal-septem
    ber.org!mx04.eternal-september.org!.POSTED!not-for-mail
    From: Piotr Chamera <p...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Wam wszytskim odbilo z tym Lispem :)
    Date: Thu, 26 Jul 2012 17:12:37 +0200
    Organization: A noiseless patient Spider
    Lines: 42
    Message-ID: <jurmp7$552$1@dont-email.me>
    References: <2...@g...com>
    <1mraty78mzzu4$.dlg@hell.heaven>
    <2...@g...com>
    <6...@g...com>
    <s...@l...localdomain>
    <juk169$3p9$1@mx1.internetia.pl>
    <0...@g...com>
    <8...@g...com>
    <3...@g...com>
    <6...@g...com>
    <a...@g...com>
    <jup7b3$4vm$1@inews.gazeta.pl> <jup7i7$ci4$1@inews.gazeta.pl>
    <jupflm$a9a$1@inews.gazeta.pl> <juqpus$l4g$1@inews.gazeta.pl>
    <juqsfp$hto$1@dont-email.me> <juqv5p$dta$1@inews.gazeta.pl>
    <jur1pd$dun$1@dont-email.me> <jur215$ncm$1@polsl.pl>
    <jurcem$71c$1@dont-email.me> <jurkbk$rsu$1@polsl.pl>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Thu, 26 Jul 2012 15:12:39 +0000 (UTC)
    Injection-Info: mx04.eternal-september.org;
    posting-host="7e63defaef7e286b09cea558388ede3a"; logging-data="5282";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1+K0odofd0fzJnn0JZFW+Ak"
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0
    In-Reply-To: <jurkbk$rsu$1@polsl.pl>
    Cancel-Lock: sha1:VbrhF2AWsOihrrOa4Gre4v8cX0A=
    Xref: news-archive.icm.edu.pl pl.comp.programming:198900
    [ ukryj nagłówki ]

    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ć:

    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)))))

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: