eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingZapytanieRe: 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 14:16:21 +0200
    Organization: A noiseless patient Spider
    Lines: 74
    Message-ID: <jurcem$71c$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>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Thu, 26 Jul 2012 12:16:23 +0000 (UTC)
    Injection-Info: mx04.eternal-september.org;
    posting-host="7e63defaef7e286b09cea558388ede3a"; logging-data="7212";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1+C6aHz71X8IjOGvYzZjOoB"
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0
    In-Reply-To: <jur215$ncm$1@polsl.pl>
    Cancel-Lock: sha1:7Xs06ArT8BMorlbZYjMxi6Prces=
    Xref: news-archive.icm.edu.pl pl.comp.programming:198884
    [ ukryj nagłówki ]

    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:
    >>>>
    >>>> a = 8
    >>>> b = a + 7
    >>>> c = 12
    >>>> d = 2
    >>>> r = a + b * c + d
    >>>
    >>> A dlaczegoz to Kolega zgubil nawiasy i (pomylil znak, rozumiem ze typo) ?
    >>> Przeciez to wbrew matematyce
    >>> Winno byc: r = (a + b) * (c - d)
    >>
    >> oczywiście...
    >> wklepałem to na szybko, żeby pokazać przykład, w którym
    >> a,b,c,d są ,,globalne" - nie wiem, jak to zapisać w Pythonie tak, aby
    >> nie były widoczne poza zasięgiem, w którym są potrzebne i żeby nadal
    >> było czytelnie.
    > ... wpakowac to do procedury;-) Z powazaniem
    > Adam Przybyla

    Rozumiem, że to są różne języki i pisze się w nich całkiem inaczej...
    Pytam po prostu z ciekawości, bo AK podał jako przykład czegoś
    trudnego (czy nieintuicyjnego) dla początkujących konstrukcję,
    która nie ma chyba dokładnego odpowiednika w żadnym z popularniejszych
    języków programowania a zinterpretowałem to tak, że AK uważa że w innym
    języku (np. Pythonie, który został wymieniony wcześniej) będzie
    to bardziej czytelne / intuicyjne.

    Sam coś tam kiedyś liznąłem Pythona ale nie potrafię znaleźć
    satysfakcjonującego odpowiednika, przy założeniu, że
    po obliczeniu r z wykorzystaniem a,b,c,d chcemy pozostawić
    tylko widoczność r.

    można tak
    >>> def wzor():
    a = 8
    b = a + 7
    c = 12
    d = 2
    return (a + b) * (c - d)

    >>> r = wzor()

    co jednak zostawia nam w przestrzeni globalnej ,,wzor"



    tak jak poniżej (co byłoby chyba najbliższym odpowiednikiem) się nie da
    (chyba, że można jakoś zapisać ,,wielowyrażeniową" lambdę):

    r = (lambda:
    a = 8
    b = a + 7
    c = 12
    d = 2
    return (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: