eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjezyki z definiowaniem operatorowRe: jezyki z definiowaniem operatorow
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Piotr Chamera <p...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: jezyki z definiowaniem operatorow
    Date: Wed, 16 May 2012 13:23:48 +0200
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 69
    Message-ID: <jp02of$56m$1@inews.gazeta.pl>
    References: <jou2mq$cm2$1@inews.gazeta.pl>
    <13379011.407.1337126305598.JavaMail.geo-discussion-forums@vbvq7>
    <jov6b8$t1i$1@inews.gazeta.pl> <jovv9l$onf$1@inews.gazeta.pl>
    NNTP-Posting-Host: public35634.xdsl.centertel.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1337167440 5334 79.163.139.50 (16 May 2012 11:24:00 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 16 May 2012 11:24:00 +0000 (UTC)
    X-User: p71a
    In-Reply-To: <jovv9l$onf$1@inews.gazeta.pl>
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
    Xref: news-archive.icm.edu.pl pl.comp.programming:197256
    [ ukryj nagłówki ]

    W dniu 2012-05-16 12:24, f...@g...pl pisze:
    > firr<f...@g...pl> napisał(a):
    >
    >> Daniel Janus<n...@g...com> napisał(a):
    >>
    >>> W dniu wtorek, 15 maja 2012 18:10:51 UTC+1 u=BFytkownik fir napisa=B3:
    >>>> czy wystepuja jezyki z definiowaniem=20
    >>>> operatorow (inne niz c++, gdzie zreszt=B1
    >>>> to definiowanie jest bardzo ograniczone -
    >>>> mozna sobie wyobrazic jezyk ze tak swobodnym=20
    >>>> definiowaniem operatorow jak funkcji, moze
    >>>> to skrociloby listingi choc trudno powiedziec)
    >>>
    >>> Co rozumiesz przez "definiowanie operator=F3w"?
    >>>
    >>> --D.
    >>
    >>
    >> przez definiowanie operatorow rozumiem glownie
    >> nadanie wywolaniom funkcji postaci operatorowej np
    >> zamiast
    >>
    >> print("this", "is", 4, "lisa") //funkcja print
    >>
    >> print "this" "is" 4 "lisa" //operator print
    >>
    >
    > przy okazji tego to powstaje pomysl na nowy operator
    > jakiego nie ma w c - operator zapodawania sekwencyjnego
    >
    > np mozna miec funkcje ktora przyjmie np 4 argumenty rownolegle
    > na raz ale mozna tez wyobrazis sobie funkcje ktora wywolana zostanie
    > 4 trazy za kazdym razem z kolejnym argumentem
    >
    > print "ala"+"ma"+"kota" // print("alamakota");
    >
    > print "ala" "ma" "kota" // print("ala","ma","kota");
    >
    > print ("ala")("ma")("kota") // print("ala");
    > print("ma");
    > print("kota");

    W niektórych językach nieco wyższego poziomu niż C (w nawiązaniu
    do wątku o HLL-ach) takie konstrukcje albo są wbudowane (np. niektóre
    funkcje w lispie),

    CL-USER> (+ 1 23 45 1.23 3/4)
    70.98

    albo można je łatwo zdefiniować:

    (defun printall (&rest all)
    (dolist (x all) (princ x)))

    CL-USER> (printall "ala" "ma" "kota")
    alamakota
    NIL

    printall można też zdefiniować jak poniżej (coś podobnego do funkcji
    map występuje w wielu językach):

    (defun printall (&rest all)
    (map nil #'princ all))

    > (jakiestam operatory w srodku czy to slowami czy symbolami)
    >
    > (w sumie wlasnie zamist dodawac stringi i tracic procek
    > lepiej nie zmieniac danych tylko wywolac po kolei kilka printow
    > na odzielnych stringach)

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: