Random
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le type de données Random génère des nombres et des directions pseudorandom.
Résumé
Constructeurs
Renvoie un nouveau générateur pseudorandom à l'aide d'une graine facultative.
Méthodes
Renvoie un entier pseudorandom uniformément distribué sur [min, max] .
Renvoie un nombre pseudorandom uniformément distribué sur [0, 1] .
Renvoie un nombre pseudorandom uniformément distribué sur [min, max] .
Remélange uniformément une table en place.
Renvoie un vecteur d'unité avec une direction pseudorandom.
Renvoie un nouvel objet aléatoire avec le même état que l'original.
Constructeurs
new
Retourne un nouvel objet Random. Si vous ne fournissez pas le paramètre de graine, Random utilise une graine d'une source d'entropie interne.
Si vous fournissez une graine, elle devrait être dans la plage [-9007199254740991, 9007199254740991], et Random la ronde à la plus proche entier.Ainsi, les graines de 0, 0,99 et math.random() produisent tous des générateurs identiques.Si vous devez générer une graine et la stocker pour une récupération ultérieure, utilisez math.random(max) .
Paramètres
Échantillons de code
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éthodes
Shuffle
Il mélange uniformément la partie de l'array de tb à l'endroit en utilisant NextInteger pour choisir des index.S'il y a des nil "trous" dans la partie de l'array de la table, Shuffle lance une erreur, car le mélangement pourrait changer la longueur.
La partie hash de tb est ignorée. Aucune méthode métamatique de tb n'est invoquée.
Le mélange est défini pour être un mélange Fisher-Yates afin que le nombre d'appels NextInteger soit garanti d'être cohérent entre les versions des moteurs pour une taille de table donnée.