Re: hash-Zufall
Michael Armbrecht <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Am Sonntag, 16. Januar 2005 13:22 schrieb Daniel Feist:
> Hallo,
> ich habe eine Frage zu Perl - und zwar, ob und wenn ja wie es möglich ist,
> aus einer Hash-Variable wie diese:
> %ganzer_name = ("Fred" => "Feuerstein",
> "Barney" => "Geroellheimer",
> );
> einen einen zufälligen Schlüssel auszuwählen und dann nach seinem Wert zu
> fragen?
Spontan würde ich vorschlagen, die Liste der Schlüssel in eine Liste zu
schreiben, dann deren Länge (d.h. Anzahl der Elemente) zu bestimmen und dann
eine Zufallszahl zwischen 0 und der Anzahl der Elemente zu erzeugen. Dann das
Element $schluessel aus dem Schlüssel-Array mit Index $zufallszahl holen und
aus %ganzer_name den Wert für $schluessel abfragen (das hier ist aus dem Perl
Cookbook):
#!/bin/perl -w
%ganzer_name = (
"Fred" => "Feuerstein",
"Barney" => "Geroellheimer",
);
@schluessel = keys(%ganzer_name);
$zufall = $schluessel[ rand @schluessel ];
$wert = $ganzer_name{$zufall};
print "$wert\n";
> Schön wäre es, wenn man da den Zufallsgenerator rand oder
> ähnliches einbauen könnte.
> Vielen Dank schonmal im voraus!
Bitte schön...
--
The nice thing about standards is that there are so many of them to
choose from.
-- Andrew S. Tanenbaum
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]