-
Data: 2013-03-17 12:27:47
Temat: Re: PowerShell - ktos uzywa?
Od: "R.e.m.e.K" <g...@d...null> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Sun, 17 Mar 2013 11:14:42 +0100, PawelS napisał(a):
>>> 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 ...
Zawsze mozesz wyedytowac wiki i poprawic, sam tak czasem robie :-)
> 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.
Ale jak sam piszesz przestac nie tak latwo, bo "na to niestety nie ma rady".
>> 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.
btw powyzszy przyklad nie jest juz z wiki, tylko jakiegos studenckiego
skryptu.
> 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)
czyli koszmarek :)
>>> 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).
Ja zdaje sobie sprawe, ze po miesiacu perlowania nie bede sie juz potykal o
te dziwactwa, ale naprawde wole power inwestowac w rzeczy bardziej
uniwersalne niz pomysly zwyciezcy konkursu "najbardziej zamotana skladnia".
>> 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
> }
Teraz ja z ciekawosci spytam. Po co stosujesz kompresje? Masz jakis cel w
tym, zeby plik zrodla bym mniejszy? Osobiscie unikam takich praktyk jak
ognia, bo po roku, gdy musze ten kod czytac to chetnie sam bym sie kopnal w
dupe za taki styl. Znaczy juz nie musze, bo od lat tego nie robie.
> 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?
Czy to nie zalezy od ustawien kompilatora? Poza tym uzywajac dobrego edytora
mozna o tym problemie zapomniec bez wzgledu na to czy uzywasz spacji, taba
czy obu naraz. Mam na mysli edytor, ktory w locie podmieni taby na spacje
lub spacja na taby - tak jak chcesz.
Zatem jest to problem wagi lekkiej, w przeciwienstwie do perlowych kompresji
zabetonowanych w jezyk na zawsze.
> 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 ...
A jednak sie jakos wykonuje chyba. Czyli moze python jest "madrzejszy" niz
sie wydaje? :-)
--
pozdro
R.e.m.e.K
Następne wpisy z tego wątku
- 17.03.13 19:36 Roman W
- 17.03.13 20:51 Edek Pienkowski
- 17.03.13 21:46 PawelS
- 18.03.13 08:07 Adam Przybyla
- 18.03.13 10:36 R.e.m.e.K
- 18.03.13 11:09 Adam Przybyla
- 18.03.13 12:37 Edek Pienkowski
- 18.03.13 12:52 Adam Przybyla
- 18.03.13 13:12 grapeli23
- 20.03.13 22:31 Edek Pienkowski
- 27.03.13 09:49 Ghost
- 27.03.13 09:50 Ghost
- 27.03.13 11:19 AK
- 27.03.13 11:20 AK
- 24.04.13 14:08 Edek
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-17 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-17 Lublin => Programista Delphi <=
- 2025-01-17 Warszawa => Developer .NET (mid) <=
- 2025-01-17 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-17 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-17 Wróblewo => Analityk finansowy <=
- 2025-01-17 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-17 pradnica krokowa
- 2025-01-17 Warszawa => International Freight Forwarder <=
- 2025-01-17 Warszawa => Helpdesk Specialist <=
- 2025-01-17 Kraków => User Experience Designer <=
- 2025-01-17 Nieustający podziw...
- 2025-01-17 zawsze parkuj tyłem do ulicy
- 2025-01-16 nie będzie naprawy pod blokiem?
- 2025-01-16 korytarz zycia