Thread Mit Perl rechnen (76 answers)
Opened by Napstack at 2008-07-03 17:04

KurtZ
 2008-07-05 20:35
#111888 #111888
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
hallo Ronnie
Ronnie+2008-07-04 19:44:59--
*lacht* - ich müsste ausprobieren ob es als Listcomprehension in Python nicht ähnlich aussieht ;)


mach mal, würd mich sehr interessieren!

Hab mich grob mit Python befasst, und finde vieles deutlich unintuitiver als man eigentlich erwartet (was natürlich auch an der Erwartungshaltung liegt)

mal geschaut ... http://en.wikipedia.org/wiki/List_comprehension#In_Python

zugegeben an diesen klammerfreien Syntax muss man sich auch gewöhnen

aber semantisch entspricht das doch in PL einem mit grep erzeugtem Array, oder?

Da könnte ich auch schreiben
Code (perl): (dl )
1
2
return scalar  grep { $i % $_ == 0 } (2 .. sqrt($i)); 
# 0 wenn es keinen restfreien Teiler gibt


Ich finde man sollte "Bedingte Ausführung" mit AND oder OR der Lesbarkeit willen sparsam verwenden, insbesondere kombiniert mit Postfix-Schleifen.

wenn man einen Einzeiler mit schnellem Abbruch beim ersten Teiler will, kann man ja auch den Schleifenkörper inlinen.
Code (perl): (dl )
 for ( 2 .. sqrt($i) )  { return $_  unless $i % $_ }  

bzw.
Code (perl): (dl )
 for ( 2 .. sqrt($i) )  { return $_  if $i % $_  == 0} 


IMHO lesbarer ...
TMTOWTDYOG (there's more than one way to dig your own grave)

View full thread Mit Perl rechnen