Thread Über viele(!) Boolesche Werte iterieren: Array oder Bit::Vector oder was?
(14 answers)
Opened by flowdy at 2012-08-03 22:56
Ich denke so sollte der Code aussehen.
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 # Sparen wir uns die Strukturdaten des Arrays und von 999.999 Skalaren # Vorschlag von topeg++, angeglichen. $bit_data-Initialisierung oben. strng => sub { my ($last,@cache)=(0); for ( my $i = $start; $i <= $end; $i++ ) { my $v = substr($str_data,$i,1); if ($v xor $last // !$v) { push @cache, $v ? 1 : -1 } else { $cache[-1] += $v } $last = $v; } }, Da war ein wenig was durcheinander geraten :-) Edit: $last muss vordefiniert sein sonst wird xor mit undef gemacht -> resultiert in einer Warnung. Last edited: 2012-08-04 15:38:03 +0200 (CEST) |