【发布时间】:2018-10-10 17:30:30
【问题描述】:
我查阅了几个关于如何使用 lua 生成随机数的教程,每个教程都说要使用 math.random(),所以我做到了。然而,每次我使用它时,我每次都得到相同的数字,我尝试重写代码,我总是得到尽可能低的数字。我什至包括了一个基于操作系统时间的随机种子。代码如下。
require "math"
math.randomseed(os.time())
num = math.random(0,10)
print(num)
【问题讨论】:
-
您的代码在 lua.org/demo.html 的 Lua 演示中生成不同的数字。注释
require行以在那里运行它。 -
这可能是我正在使用的程序。它是使用 eclipse 的 Lua 开发工具
-
您可能需要在两次运行之间等待一秒钟才能看到不同的数字。
-
就是这样,它总是给我相同的数字,总是尽可能低的数字。
-
@DragonProgram 试试这个:
local seed = os.time() print(seed) math.randomseed(seed)。seed每次都一样吗?也就是说,os.time()每次都返回相同的数字吗?