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
na coś innego.x
Nie podobają mi się list coprehensions. Ale elementy funkcyjne (map, reduce i filter) podobają mi się jeszcze mniej.
PolubieniePolubienie
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ą.
PolubieniePolubienie
# 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;
PolubieniePolubienie
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.
PolubieniePolubienie
To perl, tylko (daj nam Boze) w wersji 6 🙂
PolubieniePolubienie