Ricerca…


Osservazioni

Documentazione per la funzione rand () di perl: http://perldoc.perl.org/functions/rand.html

Genera un numero casuale compreso tra 0 e 100

Passa un limite superiore come argomento alla funzione rand ().

Ingresso:

my $upper_limit = 100;
my $random = rand($upper_limit);

print $random . "\n";

Produzione:

Un numero a virgola mobile casuale, come ...

45.8733038119139

Genera un numero intero casuale tra 0 e 9

Trasmetti il ​​tuo numero casuale in virgola mobile come int.

Ingresso:

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";

Produzione:

Un numero casuale, come ...

0

Vedi anche il perldoc di Rand .

Accedere a un elemento dell'array in modo casuale

my @letters = ( 'a' .. 'z' );                # English ascii-bet

print $letters[ rand @letters ] for 1 .. 5;  # prints 5 letters at random

Come funziona

  • rand EXPR aspetta un valore scalare, quindi @letters viene valutato in contesto scalare
  • Un array in contesto scalare restituisce il numero di elementi che contiene (26 in questo caso)
  • rand 26 restituisce un numero frazionario casuale nell'intervallo 0 ≤ VALUE < 26 . (Non può mai essere 26 )
  • Gli indici di array sono sempre interi, quindi $letters[rand @letters]$letters[int rand @letters]
  • Gli array Perl sono a zero indice, quindi $array[rand @array] restituisce $array[0] , $array[$#array] o un elemento nel mezzo

(Lo stesso principio si applica agli hash)

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow