Random
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
El tipo de datos Random genera números y direcciones pseudorandos.
Resumen
Constructores
Devuelve un nuevo generador pseud aleatorio utilizando una semilla opcional.
Métodos
Devuelve un entero pseudorando distribuido uniformemente sobre [min, max] .
Devuelve un número pseudorando distribuido uniformemente sobre [0, 1] .
Devuelve un número pseudorando distribuido uniformemente sobre [min, max] .
Mezcla uniformemente una tabla en el lugar.
Devuelve un vector de unidad con una dirección pseudorando.
Devuelve un nuevo objeto aleatorio con el mismo estado que el original.
Constructores
new
Devuelve un nuevo objeto Random. Si no proporciona el parámetro de semilla, Random usa una semilla de una de origende entropía interna.
Si proporciona una semilla, debe estar dentro del rango [-9007199254740991, 9007199254740991], y Random la redondeará hacia abajo al entero más cercano.Así que las semillas de 0, 0.99 y math.random() producen todos generadores idénticos.Si necesita generar una semilla y almacenarla para su recuperación posterior, use math.random(max) .
Parámetros
Muestras de código
Generates a pseudorandom seed and uses it to create a new Random generator.
local max = 2147483647 -- use a large integer
local seed = math.random(max)
local generator = Random.new(seed)
Métodos
Shuffle
Mezcla uniformemente la parte del array de tb en el lugar usando NextInteger para elegir índices.Si hay algún nil "agujeros" en la parte del array de la tabla, Shuffle lanza un error, ya que mezclar podría cambiar la longitud.
La parte de hash de tb se ignora. No se invocan metodos metálicos de tb.
El algoritmo de mezclado se define como un algoritmo de Fisher-Yates, por lo que se garantiza que el número de llamadas NextInteger sea consistente entre las versiones del motor para un tamaño dado de la tabla.