-
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 ...
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
- 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-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją