lua 生成随机数

local socket = require("socket")

local function get_seed()
    local t = string.format("%f", socket.gettime())
	local st = string.sub(t, string.find(t, "%.") + 1, -1) 
	return tonumber(string.reverse(st))
end

math.randomseed(get_seed())

socket.gettime()会精确到毫秒级

 

lua 生成随机数_第1张图片

 

可见,如果同时执行2次,得到的时间还是一样的,因为计算机的速度实在太快了,可以在调用这个函数之前传一个计数器,每执行一次函数,计数器+1, 这样就能保证每次的随机数种子是不一致的

 

你可能感兴趣的:(lua)