Perl Language
Zufälligkeit
Suche…
Bemerkungen
Dokumentation für die rand () - Funktion von Perl: http://perldoc.perl.org/functions/rand.html
Erzeugen Sie eine Zufallszahl zwischen 0 und 100
Übergeben Sie eine Obergrenze als Argument an die Funktion rand ().
Eingang:
my $upper_limit = 100;
my $random = rand($upper_limit);
print $random . "\n";
Ausgabe:
Eine zufällige Fließkommazahl, wie ...
45.8733038119139
Erzeugen Sie eine zufällige ganze Zahl zwischen 0 und 9
Verwandeln Sie Ihre zufällige Fließkommazahl als int.
Eingang:
my $range = 10;
# create random integer as low as 0 and as high as 9
my $random = int(rand($range)); # max value is up to but not equal to $range
print $random . "\n";
Ausgabe:
Eine zufällige ganze Zahl, wie ...
0
Siehe auch den Perldoc für Rand .
Zufälliger Zugriff auf ein Array-Element
my @letters = ( 'a' .. 'z' ); # English ascii-bet
print $letters[ rand @letters ] for 1 .. 5; # prints 5 letters at random
Wie es funktioniert
-
rand EXPR
erwartet einen skalaren Wert, sodass@letters
im skalaren Kontext ausgewertet wird - Ein Array im skalaren Kontext gibt die Anzahl der darin enthaltenen Elemente zurück (in diesem Fall 26).
-
rand 26
gibt eine zufällige gebrochene Zahl im Intervall0 ≤ VALUE < 26
. (Es kann nie26
) - Array-Indizes sind immer Ganzzahlen, also
$letters[rand @letters]
≡$letters[int rand @letters]
- Perl-Arrays sind
$array[rand @array]
gibt also$array[0]
,$array[$#array]
oder ein Element dazwischen zurück
(Das gleiche Prinzip gilt für Hashes)
my %colors = ( red => 0xFF0000,
green => 0x00FF00,
blue => 0x0000FF,
);
print ( values %colors )[rand keys %colors];
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow