[perl] hash met multiple keys en multiple values

Pagina: 1
Acties:

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
Ik wil een hash hebben met meerdere keys en meerdere values, waarbij beide (keys en values) arrays zijn.
Nu lukt het me om voor één key met meerdere values te maken, en het lukt me ook meerdere keys voor één value te maken, maar combineren gaat nog niet.
Iemand een idee/oplossing?

  • smoking2000
  • Registratie: September 2001
  • Laatst online: 04:05

smoking2000

DPC-Crew

dpkg-reconfigure reality

zoiets?

$hash1{$hash2{$key1}}->{$key2}

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |


  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
Heb het al... sorry

my %test = map { my $item = pop @$_; map { $_, $item } @$_ }
[("Raspberry","Framboos") => ["pink","roze"]];

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
te vroeg gejuigd, maar het scheelt niet veel. Iemand ideeen?

Verwijderd

Gaat het je alleen om het initialiseren van een hash op basis van een array met keys en een array met values? Of wil je echt een array als key hebben. Dat laatste kan namelijk niet, je zult dan de array tot een string moeten omvormen.

Maar als het je om het eerste gaat kan je natuurlijk gewoon zoiets doen:
Perl:
1
foreach my $key ( @keys ) { $test{$key} = shift @values }

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
ik heb hem al, dat voorbeeld wat ik gaf was toch goed. wat ik wil is een hash die die meerdere keys heeft voor een value die weer een array is. Dus dat bijvoorbeeld de woorden STOP QUIT EXIT naar dezelfde array verwijzen.

(ik had een hash waarin soms 20 waarde naar dezelfde value (wat weer een array was) wezen. lastig om bij te houden, en ook nog eens 200% langzamer)

[ Voor 26% gewijzigd door Klaus_1250 op 17-01-2003 20:18 ]

Pagina: 1