Thread Probleme mit splice. Warum geht dat net???
(11 answers)
Opened by Alvin at 2008-01-12 17:22 Alvin+2008-01-12 16:22:14-- Du hast Dir die Frage fast schon selbst beantwortet: Mittels splice entfernst Du ein Element aus dem Array, lässt die Schleifenvariable aber trotzdem erst beim nächsten Index weiterlaufen, wodurch ein Element übersprungen wird. Nach der Spliceoperation $i-- auszuführen bringt auch nichts, da $i sofort danach vom Schleifenkopf neu gesetzt wird. Eine mögliche Lösung wäre, an dieser Stelle keine foreach-Schleife sondern eine klassische for-Schleife zu verwenden: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 ... Innen: for (my $i = $[; $i <= $#population; $i++) { ... if (...) { ... splices ... $i-- } } ... Linuxer+2008-01-12 17:42:27-- printf ist außerdem gefährlich, wenn als erstes Argument kein konstanter String übergeben wird. Also entweder Code (perl): (dl
)
printf 'Das ist ein String: %s', $irgendwas; oder Code (perl): (dl
)
print "Das ist ein String: $irgendwas"; aber bitte nicht Code (perl): (dl
)
printf "Das ist ein String: $irgendwas"; When C++ is your hammer, every problem looks like your thumb.
|