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 ![]() 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 ![]() ![]() Code (perl): (dl
)
my @result = map {compute_result($_)} (1..$max); |