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()會精確到毫秒級

 

 

可見,如果同時執行2次,得到的時間還是一樣的,因爲計算機的速度實在太快了,可以在調用這個函數之前傳一個計數器,每執行一次函數,計數器+1, 這樣就能保證每次的隨機數種子是不一致的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章