Random
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il tipo di dati Random genera numeri e direzioni pseudorandom.
Sommario
Costruttori
Restituisce un nuovo generatore pseudorandom utilizzando un seme opzionale.
Metodi
Restituisce un intero pseudorandom uniformemente distribuito su [min, max] .
Restituisce un numero pseudorandom uniformemente distribuito su [0, 1] .
Restituisce un numero pseudorandom uniformemente distribuito su [min, max] .
Mezcla uniformemente un tavolo in loco.
Restituisce un vector unitario con una direzione pseudoranda.
Restituisce un nuovo oggetto casuale con lo stesso stato dell'originale.
Costruttori
new
Restituisce un nuovo oggetto Random . Se non fornisci il parametro seed, Random utilizza un seed da una Sorgentedi entropia interna.
Se fornisci un seme, dovrebbe essere all'interno della gamma [-9007199254740991, 9007199254740991], e Random lo arrotonderà verso il Integropiù vicino.Quindi i semi di 0, 0.99 e math.random() producono tutti generatori identici.Se devi generare una seed e conservarla per un recupero successivo, usa math.random(max) .
Parametri
Campioni di codice
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)
Metodi
Shuffle
Mezcla uniformemente la parte dell'array di tb in loco utilizzando NextInteger per selezionare gli indici.Se ci sono qualsiasi nil "buchi" nella parte dell'array della tabella, Shuffle lancia un'errore, poiché lo scambio potrebbe cambiare la lunghezza.
La parte hash di tb viene ignorata. Non vengono invocati metodi metametodi di tb.
Lo shuffle è definito essere uno shuffle Fisher-Yates quindi il numero di NextInteger chiamate è garantito essere coerente tra le versioni del motore per una dimensione della tabella data.