eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPowerShell - ktos uzywa?Re: PowerShell - ktos uzywa?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
    From: PawelS <c...@1...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: PowerShell - ktos uzywa?
    Date: Sun, 17 Mar 2013 11:14:42 +0100
    Organization: ICM, Uniwersytet Warszawski
    Lines: 87
    Message-ID: <ki452i$2lt$1@news.icm.edu.pl>
    References: <5142e7de$0$1250$65785112@news.neostrada.pl>
    <c...@g...com>
    <514459fd$0$1220$65785112@news.neostrada.pl>
    <ki1mht$28j$1@news.icm.edu.pl>
    <514471c3$0$1220$65785112@news.neostrada.pl>
    NNTP-Posting-Host: muszelka.nat.student.pw.edu.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.icm.edu.pl 1363515282 2749 194.29.137.5 (17 Mar 2013 10:14:42 GMT)
    X-Complaints-To: u...@n...icm.edu.pl
    NNTP-Posting-Date: Sun, 17 Mar 2013 10:14:42 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.24 (X11/20110622)
    In-Reply-To: <514471c3$0$1220$65785112@news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:202225
    [ ukryj nagłówki ]

    R.e.m.e.K pisze:
    > Dnia Sat, 16 Mar 2013 12:54:09 +0100, PawelS napisał(a):
    >
    >>> Ale skladnia Perla mnie mocno odrzuca :/
    >> A jaka to konkretnie składnia Perla Cię odrzuca,
    >> mógłbyś podać przykłady (tak z ciekawości pytam).
    >
    > Chocby pierwszy lepszy z polskiej wiki:
    >
    > $_ = "Magiczna liczba to 150\n";
    > print;
    > s/\d+/-1/;
    > print;
    To jest niestety problem ... wikipedii i wikipedystów,
    przedstawiających takie, a nie inne przykłady
    a na to nic nie poradzimy ...
    To powyżej powinno być zapisane:
    my $var; # using strict w perlu trzeba deklarować jednak zmienne ;)
    $var="Magiczna liczba to 150\n";
    print($var);
    # na to niestety nie ma akurat rady, chyba że własna sub:
    # coś na kształt PHP:
    # sub preg_replace {
    # my ($pattern,$replacement,$subject)=@_;
    # $subject=~s/$pattern/$replacement/g;
    # return $subject;
    # }
    $var=~s/\d+/-1/; # lub $var=preg_replace('\d+', '-1', $var);
    print($var);
    Jak dla mnie tak jest czytelniej,
    wystarczy przestać używać wynalazków i skrótów perla.

    > Albo:
    >
    > $n = $#a - $[ + 1;
    > print "ilosc elementow w wektorze: $n \n";
    >
    > Taki $#a czy $[ jako zywo przypomina mi idee Brainfucka, ktory jest fajny,
    > bo dowcipny i pomyslowy, ale jest tylko zartem.
    Jeśli nie można czegoś zmienić, to ...
    $#a - odpowiednik: count(ARRAY)-1
    ewentualnie, można zapisać własne sub:
    # sub count { my (@LIST)=@_; return $#LIST; }
    # przy czym to mylące, bo zwraca indeks ostatniego elementu
    # powinno być raczej: return $#LIST+1;
    przy czym to ARRAY to LIST, a jest jeszcze HASH,
    tu akurat w wielu językach jest to lepiej rozwiązane
    bez podziału na listę (klucze numeryczne)
    i hash (klucze to ciągi znaków)

    >> Wprawdzie Perl ma pewne swoje takie, a nie inne konstrukcje,
    >> jednakże w Perlu można pisać całkiem czytelne programy,
    >> składnią przypominające programy pisane w C
    >> (oczywiście poza pewnymi drobnymi wyjątkami).
    >
    > W Pythonie tez mozna, w Rubym tez mozna, ostatecznie w Visual Basicu tez
    > mozna. To nie jest argument, ze da sie pisac czytelnie, czytelnosc powinna
    > byc odgornie narzucona imho.
    Niestety z racji, że python narzuca na formatowanie,
    to i nie bardzo mi się podoba.
    Często stosuję tego typu pseduo kompresję kodu:
    if (conditional) { $a=1; $B[2]=2; $C['key']=3; }
    a gdzie indziej jeśli to potrzebne dekompresję:
    if (conditional) {
    $a=1; # bo jest to pierwsza zmienna w if ;)
    $B[2]=2; # bo jest to druga zmienna w if, to klucz = 2 i wartość = 2
    $C['key']=3; # bo musi być inaczej niż w poprzednich liniach
    }

    Poza tym zawsze się zastanawiam,
    jeśli w pytonie napiszę:
    if conditional
    instrukcja # linia rozpoczęta 1 tabulatorem
    instrukcja # linia rozpoczęta 4 spacjami
    instrukcja # linia rozpoczęta 1 tabulatorem
    instrukcja # linia rozpoczęta 4 spacjami

    to pytanie jak python to zinterpretuje?
    Przeglądając kody źródłowe (like C) często widzę
    mieszany styl wcięć, kilka linii ładnie spacjami,
    kolejne linie ładnie tabulatorami,
    i jeśli ja mam inne ustawienia np: vim ts=4 sw=4
    to niestety kod rozjeżdża mi się na ekranie,
    po prostu cudowny haos ...
    a i nawet kody w pythonie tak zapisane skrypty widziałem ...
    co dla mnie jest zastanawiające jak to się wykona
    analogicznie jak dla Ciebie powyższe perlowe replace ...

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: