eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjezyki z definiowaniem operatorowRe: jezyki z definiowaniem operatorow
  • Data: 2012-05-16 13:23:48
    Temat: Re: jezyki z definiowaniem operatorow
    Od: Piotr Chamera <p...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: