Calocybe: srand()

Beitrag lesen

Moin!

ähm... das sagt perldoc aber vermutlich nicht für int()... ;-)

Oops, das ist ja peinlich! *g* Da hab ich wohl mal wieder nicht richtig gelesen.

Leider kann mit dieser Funktion auch nur gewährleistet werden, daß sich ein Zufallswert vom _vorherigen_ unterscheidet, nicht aber von allen, siehe auch:

Naja, ich halte diesen Fall bei einem vernuenftig grossen Zahlenbereich sowieso fuer ziemlich ausgeschlossen. Bei einem sehr kleinen Bereich ist es dann sowieso meist egal. Muesste man natuerlich mal langzeit-testen.

for (my $i=0; $i<$anzahl_werte; $i++) {
   my $temp = int(rand($max_rand)) while ($hash{$temp});
   $hash{$temp} = 1;
   $array[$i] = $temp;
}

Man muss natuerlich darauf achten, dass $max_rand >= $anzahl_werte ist, sonst hat man ne huebsche kleine Endlosschleife.

Calocybe