Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

Powrót na stronę główną

Czy Python nie jest piękny?

Podczas dłubania w jednym skrypcie wyszło mi coś takiego (no tam było trochę czytelniej, na potrzeby Joggera upiększyłem:

x=[x for x in x if x]

Każdy Pythonowiec od razu zrozumie, że ta instrukcja usuwa puste (None, "", 0, itp.) elementy z listy :-). Wiem, w Perlu dałoby się jeszcze mniej czytelnie, pewnie krócej i na 100 różnych sposobów, ale na pewno nie tak ładnie ;-)

Oczywiście nie polecam takiego programowania — wypadałoby przynajmniej zmienić jedno x na coś innego.


Komentarze

zgoda (jarek)

21 września 2004 10:07:24

Nie podobają mi się list coprehensions. Ale elementy funkcyjne (map, reduce i filter) podobają mi się jeszcze mniej.

Jajcus

21 września 2004 10:09:34

A mnie się podobają. Pozwalają zwięźle, a jednak (IMHO) czytelnie zapisać przekształcenia listy. Za to map(), reduce() i filter() już mi się nie podobają.

Bartosz Jakubski

21 września 2004 11:51:37

# Aby na pewno mniej czytelnie i nie tak ladnie?
# Co najmniej dyskusyjna teza.
@a = grep {$_} @a;
# BTW: czy grep podpada pod "funkcyjnosc"?
# A co to za jezyk? (latwe) ;-)
@a ==> grep { $_ } ==> @a;

Jajcus

21 września 2004 11:59:54

IMHO nie tak ładnie, bo za dużo "dziwnych znaczków" :-)
Ta druga konstrukcja bardziej mi się podba. Jak to nie perl, to pewnie jakiś ruby.

Bartosz Jakubski

21 września 2004 12:03:30

To perl, tylko (daj nam Boze) w wersji 6 :-)

Dodaj nowy komentarz

Dostępne jest formatowanie Textile

Podpis:
Treść:
Strona WWW (opcjonalnie):
Wpisz kod:code
 
 

Śledzenie komentarzy (RSS) TrackBack URI


Jesteście obserwowani...