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 przedziale 0 ≤ 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