lua - 如何快速连续生成唯一的随机数?

标签 lua

我有一个快速连续调用 3 次的函数,它需要在每次传递时生成一个 1 到 6 之间的伪随机整数。但是我无法从函数中获得足够的熵。

我尝试使用以下所有内容来播种 math.randomseed(),但没有足够的变化来影响结果。

os.time()
tonumber(tostring(os.time()):reverse():sub(1,6))
socket.gettime() * 1000

我也尝试过this snippet ,但每次我的应用程序运行时,它都会以相同的顺序生成相同的数字模式。每次我的应用程序运行时,我都需要不同的数字。

有什么建议吗?

最佳答案

啊,我在乘以 socket.gettime() 时需要另一个零。乘以 10000,数字之间就有足够的距离,可以给我一个足够好的种子。

关于lua - 如何快速连续生成唯一的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975537/

相关文章:

c - 数组元素的类型不完整

file - Lua 5.2中的沙箱

c++ - 如何从 Lua 上下文中卸载代码

lua - `n` 字段添加到表中的目的 `table.pack` ?哎呀,为什么 `table.pack` 会存在呢?

string - 如何根据另一个字符串表定义的顺序对一个字符串表进行排序(Lua)

string - 在Lua中修改字符串中的字符

windows - 如何将 winapi 添加到 Lua for Windows

string - 将表解析为字符串后 -> 反转(将字符串解析为表)

algorithm - GLua - 获取两个表之间的差异

lua - 确定已编译 Lua 的编译器版本