Thread Python rockz!
(82 answers)
Opened by pktm at 2007-06-03 17:08
[quote=betterworld,03.06.2007, 18:13]Ich finde, man sollte dieses Konstrukt nicht ohne local $_ davor benutzen.[/quote]
ist zwar knapp und sehr gut lesbar, aber wenn der block groesser wird, empfehle ich, eine benannte variable anstelle des $_ zu verwenden, z.B.: Code (perl): (dl
)
1 2 3 4 5 # ab perl5.6, bei aelteren ist noch ein defined hilfreich while( my $line = <> ) { chomp $line; print if $line =~ /xyz/; } dann spart man sich das local, und hat sogar eine benannte variable. $_ verwende ich in produktionscode eher selten, und wenn, dann nur in sehr kurzen bloecken oder nachgestellten bedingungen (z.B. foreach), oder wo man es eigentlich verwenden muss (z.B. map, grep). Nebenbei kann die Verwendung von $_ bei mehreren Schleifenebenen eher verwirren (welches $_ ist denn jetzt gemeint?) als die Lesbarkeit erhoehen Wenn man sehr viele REs auf eine variable anwenden muss und vermeiden will, die Variable unnoetig oft zu schreiben, dann kann man sich ja notfalls auch noch mit for(each) einen alias bauen , z.B. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 while( my $line = <> ) { chomp $line; foreach ( $line ) { s/\s*$//; s/\#//g; .... } # foreach $line } # while perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |