eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język?Re: Jaki język?
  • Data: 2010-02-25 19:46:39
    Temat: Re: Jaki język?
    Od: Andrzej Kmicic <d...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Stachu 'Dozzie' K. pisze:
    > On 2010-02-25, Andrzej Kmicic <d...@p...onet.pl> wrote:
    >> Mif pisze:
    >>> PHP to IMO koszmar potrafiący skutecznie zniechęcić do programowania nawet
    >>> dużo starsze osoby. Choć może niektórym odpowiadać, choć osobiście go
    >>> bardzo nie lubię.
    >> A co takiego koszmarnego w PHP ?. PHP to nie tylko język do młócenia
    >> stronek za 100 zł. To łatwy, szybki język skryptowy o bardzo
    >> uniwersalnym zastosowaniu.
    >
    > C też jest łatwym, szybkim językiem (kompilowanym akurat) o bardzo
    > uniwersalnym zastosowaniu. I wiesz co? Nie do wszystkiego jest używany.
    >
    >> Wrzucę tu taka perełkę jaką znalazłem, no napisz to w innym języku tak
    >> prosto w kilku linijkach.
    >
    > Może być Perl?
    >
    >> To tabelka tekstowa robiona z tablicy
    >> dwuwymiarowej :
    >>
    >> +-----+----+----------------------+
    >> | Pos | No | Driver |
    >> +-----+----+----------------------+
    >> | 1 | 1 | Kimi Räikkönen |
    >> +-----+----+----------------------+
    >> | 2 | 2 | Felipe Massa |
    >> +-----+----+----------------------+
    >> | 3 | 22 | Lewis Hamilton |
    >> +-----+----+----------------------+
    >> | 4 | 4 | Robert Kubica |
    >> +-----+----+----------------------+
    >>
    >> function text_table($data) {
    >> $keys = array_keys(end($data));
    >> $size = array_map('strlen', $keys);
    >> foreach(array_map('array_values', $data) as $e)
    >> $size = array_map('max', $size,
    >> array_map('strlen', $e));
    >> foreach($size as $n) {
    >> $form[] = "%-{$n}s";
    >> $line[] = str_repeat('-', $n);
    >> }
    >> $form = '| ' . implode(' | ', $form) . " |\n";
    >> $line = '+-' . implode('-+-', $line) . "-+\n";
    >> $rows = array( vsprintf($form, $keys) );
    >> foreach($data as $e)
    >> $rows[] = vsprintf($form, $e);
    >> return $line . implode($line, $rows) . $line;
    >> }
    >
    > A fuj, jakie brzydkie spaghetti.
    > #v+
    > sub text_table {
    > my ($two_dim_table) = @_;
    >
    > my ($position, $number, $driver);
    >
    > format STDOUT_TOP =
    > +-----+----+----------------------+
    > | Pos | No | Driver |
    > +-----+----+----------------------+
    > .
    > format STDOUT =
    > | @>> | @> | @<<<<<<<<<<<<<<<<<<< |
    > $position, $number, $driver
    > +-----+----+----------------------+
    > .
    >
    > for my $r (@$two_dim_table) {
    > ($position, $number, $driver) = @$r;
    > write;
    > }
    > }
    > #v-
    >

    Może byc perl ale Nie tak łatwo, nazwy kolumn bane są z nazw kluczy
    tablicy asocjacyjnej. A szerokości kolumn ustalane są dynamicznie w
    zaleznosci od tresci !!!.

    AK

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: