-
Data: 2013-03-17 11:14:42
Temat: Re: PowerShell - ktos uzywa?
Od: PawelS <c...@1...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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 ...
Następne wpisy z tego wątku
- 17.03.13 12:14 Adam Przybyla
- 17.03.13 12:27 R.e.m.e.K
- 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
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- 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??
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=