La función de rand()
en Perl
En el lenguaje de programación Perl tiene integrada la función de rand()
.
Esta función se utiliza para obtener un número aleatorio.
Este programa mostrará en pantalla un número aleatorio de 0
(inclusive) hasta 10
(pero no incluyendo el número de 10
).
Por ejemplo, el resultado del trabajo de este programa puede ser el número de 2.61509101678715
.
La limitación de la
La función de rand()
devuelve псевдослучайное número. En algunos casos, en ciertas condiciones, se puede predecir
¿cuál es devolverá la función rand()
. De ello se deduce que esta función no es criptográficamente soporte.
Esta función no debe utilizar la criptografía, pero para obtener un valor aleatorio fuera del área
la criptografía de esta función es ideal.
Los argumentos
my $value1 = rand();
my $value2 = rand($number);
La función de rand()
se puede utilizar sin argumentos, o de pasar exactamente un argumento.
La función de espera para obtener el número como en el valor del argumento. Si la función recibe no es un número,
lo que le lleva a su número.
El uso de un argumento de
Cuando se utiliza el número positivo como argumento de la función rand()
devuelve el número de
mayor o igual a 0
y estrictamente menor que el de su argumento. Por ejemplo, si utiliza 100
en
como argumento, se puede obtener el número de 72.9877832186506
como resultado de la operación de la función de rand()
.
Se puede usar fracciones de argumentos. Si especifica rand(1.5)
, el resultado será un número más o
igual 0
y estrictamente menor 1.5
.
Cuando se utiliza un número negativo, como argumento de la función que devuelve el número de
estrictamente mayor que el especificado argumento y menor o igual a 0
.
El uso sin argumentos
Uso de la función de rand()
sin argumentos es lo mismo que usar el argumento de 1
. La función de
rand()
devolverá un número mayor o igual que 0
y estrictamente menor 1
, por ejemplo 0.813735968739824
.
Tenga en cuenta, si no se especifica un argumento, el argumento será el número de 1
, y no el valor de la variable $_
.
Si desea utilizar $_
como valor de rand()
, es necesario escribir explícitamente:
▶ Run
$_ = 3;
print rand($_);
0
como el valor de un argumento
El número de 0
como el valor del argumento de la función rand()
es un caso especial. rand(0)
— esto es lo mismo que rand(1)
.
La función devuelve un número mayor o igual 0
y estrictamente menor 1
.
El uso de más de un argumento
Si para pasar a la función rand()
más de un argumento, lo que se producirá un error:
Too many arguments for rand at script.pl line 3, near "2)"
Execution of script.pl aborted due to compilation errors.
La documentación oficial
He aquí el resultado del comando perldoc -f rand
:
rand EXPR
rand Returns a random fractional number greater than or equal to 0
and less than the value of EXPR. (EXPR should be positive.)
If EXPR is omitted, the value 1 is used. Currently EXPR with
the value 0 is also special-cased as 1 (this was undocumented
before Perl 5.8.0 and is subject to change in future versions
of Perl). Automatically calls "srand" unless "srand" has
already been called. See also "srand".
Apply "int()" to the value returned by "rand()" if you want
random integers instead of random fractional numbers. For
example,
int(rand(10))
returns a random integer between 0 and 9, inclusive.
(Note: If your rand function consistently returns numbers that
are too large or too small, then your version of Perl was
probably compiled with the wrong number of RANDBITS.)
"rand()" is not cryptographically secure. You should not rely
on it in security-sensitive situations. As of this writing, a
number of third-party CPAN modules offer random number
generators intended by their authors to be cryptographically
secure, including: Data::Entropy, Crypt::Random,
Math::Random::Secure, and Math::TrulyRandom.
Otros articulos
Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/