Random

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Random 数据类型生成了假随机数字和方向。

概要

构造工具

  • new(seed : number)

    使用可选种子返回一个新的虚拟随机生成器。

方法

构造工具

new

返回一个新的 Random 对象。如果你没有提供种子参数,Random 使用内部随机源的种子。

如果你提供了一个种子,它应该在 [-9007199254740991, 9007199254740991] 范围内,而 Random 将把它回合到最接近的整数。因此,0、0.99 和 math.random() 的种子都生产相同的生成器。如果您需要生成一个种子并将其存储以供稍后检索,请使用 math.random(max)

参数

seed: number

代码示例

Generates a pseudorandom seed and uses it to create a new Random generator.

Datatype.Random

local max = 2147483647 -- use a large integer
local seed = math.random(max)
local generator = Random.new(seed)

方法

NextInteger

返回一个假随机整数,均匀分布在 [min, max] 上。

参数

min: number
max: number

返回

NextNumber

返回范围为 0 到 1 的一致假随机实数,包括在内。

返回

NextNumber

返回范围为 minmax 之间的统一假随机实数,包括在内。

参数

min: number
max: number

返回

Shuffle

()

使用 tb 在位置上均匀地曳动阵列部分 NextInteger 以选择索引。如果表的阵列部分有任何 nil "洞",Shuffle 将抛出错误,因为曳步可能会改变长度。

tb中的哈希部分被忽略。没有tb的代理方法被调用。

曳步被定义为 Fisher-Yates 曳步,因此确保在给定的表大小下, NextInteger 调用数量之间的一致性。

参数

tb: table

返回

()

NextUnitVector

返回一个带有虚拟随机方向的单位向量。从此函数返回的向量均匀分布在单位球体上。

返回

一个带有假随机方向的单位向量。

Clone

返回与原始相同状态的新随机对象。

返回