Perl Language
Losowość
Szukaj…
Uwagi
Dokumentacja funkcji rand () perla: http://perldoc.perl.org/functions/rand.html
Wygeneruj losową liczbę od 0 do 100
Przekaż górny limit jako argument funkcji rand ().
Wejście:
my $upper_limit = 100;
my $random = rand($upper_limit);
print $random . "\n";
Wynik:
Losowa liczba zmiennoprzecinkowa, taka jak ...
45.8733038119139
Wygeneruj losową liczbę całkowitą od 0 do 9
Rzuć losową liczbę zmiennoprzecinkową jako liczbę całkowitą.
Wejście:
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";
Wynik:
Losowa liczba całkowita, jak ...
0
Zobacz także perldoc dla rand .
Losowy dostęp do elementu tablicy
my @letters = ( 'a' .. 'z' ); # English ascii-bet
print $letters[ rand @letters ] for 1 .. 5; # prints 5 letters at random
Jak to działa
-
rand EXPR
oczekuje wartości skalarnej, więc@letters
jest oceniany w kontekście skalarnym - Tablica w kontekście skalarnym zwraca liczbę zawartych w niej elementów (w tym przypadku 26)
-
rand 26
zwraca losową liczbę ułamkową w przedziale0 ≤ VALUE < 26
. (Nigdy nie może być26
) - Indeksy tablic są zawsze liczbami całkowitymi, więc
$letters[rand @letters]
≡$letters[int rand @letters]
- Tablice Perla są indeksowane na zero, więc
$array[rand @array]
zwraca$array[0]
,$array[$#array]
lub element pomiędzy
(Ta sama zasada dotyczy skrótów)
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow