Thread Array in einer Schleife füllen
(2 answers)
Opened by Kurtosis at 2014-12-16 16:48
Wie so oft bei Perl gilt auch hier TIMTOWTDI ("There is more than one way to do it")
Den Ansatz mit perlfunc push hat die GwenDragon schon gezeigt. Ein anderer Ansatz ist Autovivifikation - d.h. ein Array-Element wird angelegt, wenn Du darauf zugreifst. Das könnte z.B. so aussehen Code (perl): (dl
)
1 2 3 4 my @result; # leeres Array foreach my $i (1..$max) { $result[$i-1] = compute_result($i); # ein Element des Arrays wird überschrieben bzw. das Array erweitert. } Bitte beachten: Wenn Du stattdessen $result[$i] = ... schreibst, ist die Größe des Arrays int(@result)anschließend $max+1 weil auch das Element $result[0] angelegt wird (als undef). Dafür enthält $result[N] dann auch den Wert compute_result(N). Oft geht es auch mit perlfunc map oder perlfunc grep, z.B. so Code (perl): (dl
)
my @result = map {compute_result($_)} (1..$max); |