Thread Arrays zusammenführen/mergen
(16 answers)
Opened by styx-cc at 2020-03-13 21:20
Hallo Forum!
Irgendwie stehe ich bei einer eigentlich trivialen Aufgabe seit einigen Stunden auf dem Schlauch, und bevor ich noch 3x spazieren gehe, frag ich einfach mal was ich falsch mache. Ziel ist es die referenzierte (Hashkey) Arrayreferenz an die andere anzuhängen und die nun nicht mehr benötigte zu löschen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $ranges = { 1282 => [ 25, 40, 5, undef ], 1283 => [ 300, 400, 25, 1282 ], 1284 => [ 20, 30, 5, undef ], 1285 => [ 250, 260, 10, 1284 ], 1286 => [ 25, 30, 5, undef ], 1287 => [ "0.003", "0.005", "0.001", 1286 ], }; for my $range (keys %$ranges) { my $related_r = @{ $ranges->{$range} }[3]; if ( defined $related_r ) { my @merge_range; @merge_range = ( @{$ranges->{$range}}[0..2], @{$ranges->{$related_r}}[0..2] ); delete $ranges->{$related_r}; $ranges->{$range} = \@merge_range; } } print "EDITED RANGES:\n"; print Dumper $ranges; Ausgabe: Code: (dl
)
1 EDITED RANGES: Das Zusammenführen klappt ja soweit, aber warum löscht er '1284' => [] und '1282' => [] nicht, jedoch die 1286? Ich bin für Erlösung sehr dankbar! Lieben Gruß Last edited: 2020-03-13 21:56:05 +0100 (CET) Pörl.
|