Random 数据类型生成了假随机数字和方向。
概要
方法
返回一个假随机整数,均匀分布在 [min, max] 上。
返回一个假随机数字,均匀分布在 [0, 1] 上。
返回一个假随机数字,均匀分布在 [min, max] 上。
在位置上均匀地曳动表。
返回一个带有假随机方向的单位向量。
返回与原始相同状态的新随机对象。
构造工具
new
返回一个新的 Random 对象。如果你没有提供种子参数,Random 使用内部随机源的种子。
如果你提供了一个种子,它应该在 [-9007199254740991, 9007199254740991] 范围内,而 Random 将把它回合到最接近的整数。因此,0、0.99 和 math.random() 的种子都生产相同的生成器。如果您需要生成一个种子并将其存储以供稍后检索,请使用 math.random(max)。
参数
代码示例
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)
方法
Shuffle
()
使用 tb 在位置上均匀地曳动阵列部分 NextInteger 以选择索引。如果表的阵列部分有任何 nil "洞",Shuffle 将抛出错误,因为曳步可能会改变长度。
tb中的哈希部分被忽略。没有tb的代理方法被调用。
曳步被定义为 Fisher-Yates 曳步,因此确保在给定的表大小下, NextInteger 调用数量之间的一致性。
参数
返回
()