Lua 5.1.4 math.random实际上并不是随机的

mog*_*ogo 2 random math lua function

我的问题是,当我写math.random(10)它不是实际上随机它总是给我输出:

1 6 2 9

如果我用过例如:

local colors = {"ORANG","BLUE","RED","YELLOW","BLACK"}
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
os.execute 'pause'
Run Code Online (Sandbox Code Playgroud)

输出总是:

ORANGE
RED
ORANGE
BLACK
RED
RED
BLUE BLACK
Run Code Online (Sandbox Code Playgroud)

这总是输出,怎么可能是随机的????

Mar*_*ler 6

你误解了什么random:

它是一个伪随机数生成器.这意味着,给定一个特定的种子,它总会给你确切的相同数字的序列.

通常,您使用来自外部源的种子,例如使用当前时间作为种子(警告:这在密码学上是危险的!).

请阅读伪随机以及如何使用Lua的随机库.