Zoeken…


Opmerkingen

Documentatie voor de functie rand () van perl: http://perldoc.perl.org/functions/rand.html

Genereer een willekeurig getal tussen 0 en 100

Geef een bovenlimiet als argument door aan de functie rand ().

Invoer:

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

print $random . "\n";

Output:

Een willekeurig getal met drijvende komma, zoals ...

45.8733038119139

Genereer een willekeurig geheel getal tussen 0 en 9

Cast je willekeurige drijvende-kommagetal als een int.

Invoer:

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

Output:

Een willekeurig geheel getal, zoals ...

0

Zie ook de perldoc voor rand .

Willekeurig toegang krijgen tot een array-element

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

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

Hoe het werkt

  • rand EXPR verwacht een scalaire waarde, dus @letters worden geëvalueerd in scalaire context
  • Een array in scalaire context retourneert het aantal elementen dat het bevat (26 in dit geval)
  • rand 26 retourneert een willekeurig breukgetal in het interval 0 ≤ VALUE < 26 . (Het kan nooit 26 )
  • $letters[rand @letters] zijn altijd gehele getallen, dus $letters[rand @letters]$letters[int rand @letters]
  • Perl-arrays zijn nul-geïndexeerd, dus $array[rand @array] retourneert $array[0] , $array[$#array] of een tussenliggend element

(Hetzelfde principe is van toepassing op 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow