- 
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
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
 - Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
 - Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
 - Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
 - Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
 - We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
 - Ada-Europe - AEiC 2025 early registration deadline imminent
 - John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
 - Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
 - Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
 - ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
 - Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
 - Brednie w wiki - hasło Dehomag
 - Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
 - Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
 
Najnowsze wątki
- 2025-11-03 Gwarancja na używane AUTO. Czy dziś WARTO?
 - 2025-11-03 Znowu jakiś goooownoprawnik uważający się za KONSTYTUCJONALISTĘ
 - 2025-11-03 ABW już nie blokuje RT.com?
 - 2025-11-03 Czy ROZDANIE KPO śród swoich i nie swoich spowodowało KORZYŚĆ POLITYCZNĄ?
 - 2025-11-03 Warszawa => Starszy Konsultant SAP - obszar PP <=
 - 2025-11-03 Warszawa => International Freight Forwarder <=
 - 2025-11-03 Białystok => Programista React ze znajomością C++ <=
 - 2025-11-03 Warszawa => Generative AI Engineer <=
 - 2025-11-03 Warszawa => Gen AI Engineer <=
 - 2025-11-03 Białystok => Programista Delphi <=
 - 2025-11-03 Warszawa => Spedytor Międzynarodowy <=
 - 2025-11-02 totalna kontrola podatników?
 - 2025-11-02 Trzymacie pieniądze w bankach?
 - 2025-11-02 Bo sędzia prokuratorowi nie odmawia "niezawiśle" [rzepa: wnioski o areszt]
 - 2025-11-02 Michał Wawrykiewicz: "Prokuratura barszczyka bierze pod uwagę również INTENCJE uchwalaczy prawa
 




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei