Perl Language
Au hasard
Recherche…
Remarques
Documentation pour la fonction rand (): http://perldoc.perl.org/functions/rand.html
Générer un nombre aléatoire entre 0 et 100
Passer une limite supérieure en tant qu'argument à la fonction rand ().
Contribution:
my $upper_limit = 100;
my $random = rand($upper_limit);
print $random . "\n";
Sortie:
Un nombre à virgule flottante aléatoire, comme ...
45.8733038119139
Générer un entier aléatoire entre 0 et 9
Lancez votre nombre à virgule flottante aléatoire comme un int.
Contribution:
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";
Sortie:
Un entier aléatoire, comme ...
0
Voir aussi le perldoc pour le rand .
Accéder à un élément de tableau au hasard
my @letters = ( 'a' .. 'z' ); # English ascii-bet
print $letters[ rand @letters ] for 1 .. 5; # prints 5 letters at random
Comment ça marche
-
rand EXPR
attend une valeur scalaire, donc@letters
est évalué dans un contexte scalaire - Un tableau dans un contexte scalaire renvoie le nombre d'éléments qu'il contient (26 dans ce cas)
-
rand 26
renvoie un nombre fractionnaire aléatoire dans l'intervalle0 ≤ VALUE < 26
. (Ça ne peut jamais être26
) - Les index de tableau sont toujours des entiers, donc
$letters[rand @letters]
$letters[int rand @letters]
- Les tableaux Perl sont indexés à zéro, donc
$array[rand @array]
renvoie$array[0]
,$array[$#array]
ou un élément entre
(Le même principe s'applique aux hachages)
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow