Thread Arrays zu Multi-Array zusammenfügen? (19 answers)
Opened by Ionit at 2014-10-13 10:19

rosti
 2014-10-15 10:24
#177822 #177822
User since
2011-03-19
3473 Artikel
BenutzerIn
[Homepage]
user image
Es lohnt sich, darüber nachzudenken, gerade hier liegen doch auch die Vorzüge von Perl, mit Hash-Referenzen arbeiten zu können. Du wirst Dir ohnehin eines von den drei Arrays ausgucken als Basis für Deine zukünftige Datenstruktur. Random Access ist das Zauberwort und das erreichst Du beispielsweise so, dass über das Array mit den Namen ein Hash erzeugt wird, welcher die Namen als Schlüssel und die dazugehörigen Eigenschaften ebenfalls als Schlüssel-Werte-Paare enthält.

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
my @vorname = ('Jule', 'Claudia', 'Susi');
my @haarfarbe = ('rot', 'blond', 'schwarz');
my @figur = ('schlank', 'zierlich', 'mollig');

my %merged = map{ $vorname[$_] => { hair => $haarfarbe[$_], body => $figur[$_] }  }0 .. scalar @vorname - 1;

print Dumper \%merged;

# ausgabe
$VAR1 = {
          'Jule' => {
                      'body' => 'schlank',
                      'hair' => 'rot'
                    },
          'Claudia' => {
                         'body' => 'zierlich',
                         'hair' => 'blond'
                       },
          'Susi' => {
                      'body' => 'mollig',
                      'hair' => 'schwarz'
                    }
        };


Die Eigenschaften sind damit direkt adressierbar, wahlfreier Zugriff eben, what willste mehr ;)

View full thread Arrays zu Multi-Array zusammenfügen?