Thread Warum frißt Regex nicht alles? (21 answers)
Opened by bianca at 2009-11-11 11:32

betterworld
 2009-11-11 17:46
#128120 #128120
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
2009-11-11T13:11:51 renee

<persönlicheMeinung>map im void Kontext finde ich fürchterlich</persönlicheMeinung>


OK, das kann man so sehen, aber ich finde diesen Code:

Code (perl): (dl )
@map = map{ s/ +$//; $_ } @map;


redundant, weil das "map" hier eh die Elemente selbst verändert, daher ist der Rückgabewert ziemlich egal, und man kann ihn ignorieren:

Code (perl): (dl )
map{ s/ +$//; $_ } @map;


Und dann braucht man natürlich das "; $_" auch nicht mehr:

Code (perl): (dl )
map s/ +$//, @map;


So, und nachdem man die Redundanz entfernt hat, kommt nun etwas raus, was so ziemlich wie die entsprechende "for"-Schleife (als Statement-Modifier) aussieht. Ausser dass das jetzt "etwas mehr kryptisches perliges vielleicht mit map oder so was" ist, sehe ich hier keinen Grund, stattdessen einfach "for" zu benutzen:

Code (perl): (dl )
s/ +$// for @map;


Ach ja, und dann ersetzen wir bitte noch "$" durch "\z", falls wir den Unterschied nicht kennen. Siehe Wiki:Was bedeutet $ wirklich?

View full thread Warum frißt Regex nicht alles?