Random
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
O tipo de dado Random gera números e direções pseudorandômicas.
Resumo
Métodos
Retorna um pseudointeiro aleatório uniformemente distribuído sobre [min, max] .
Retorna um número pseudorandom uniformemente distribuído sobre [0, 1] .
Retorna um número pseudorandom uniformemente distribuído sobre [min, max] .
Uniformemente embaralha uma tabela no local.
Retorna um vetor de unidade com uma direção pseudorandom.
Retorna um novo objeto Aleatório com o mesmo estado do original.
Construtores
new
Retorna um novo ObjetoRandom . Se você não fornecer o parâmetro semente, Random usa uma semente de uma originalde entropia interna.
Se você fornecer uma semente, ela deve estar dentro do alcance [-9007199254740991, 9007199254740991], e Random arredondará para o integralmais próximo.Então, sementes de 0, 0.99 e math.random() todos produzem geradores idênticos.Se você precisar gerar uma semente e armazená-la para recuperação posterior, use math.random(max).
Parâmetros
Amostras 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
Uniformiza a parte do array de tb no local usando NextInteger para escolher índices.Se houver quaisquer nil "buracos" na parte do array da tabela, Shuffle lança um erro, pois a misturação pode alterar o comprimento.
A parte de hash de tb é ignorada. Nenhum metamétodo de tb é invocado.
O embaralhamento é definido para ser um embaralhamento Fisher-Yates, portanto, o número de NextInteger chamadas é garantido para ser consistente entre as versões do motor para um tamanho dado da tabela.