lua學習筆記--random function

今天看到lua數學庫中random 

math.random有3種調用方式:




1:不帶參數,返回[0,1]之間的實數類型的隨機數

2:帶1個參數n,返回的是[1,n]的隨機數

3:帶2個參數m和n,返回的是[m,n]之間的隨機數

一般還會配合隨機化種子函數math.randomseed(os.time())使用

eg:隨機生成5個[1,10]數

math.randomseed(os.time())    //這裏不要放入for循環中,如果放在循環中則會生成的數都是一樣。
local rand=math.random
for i=1,5 do
local x=rand(1,10)
print(x)
end

這個結果會生成5個隨機數,但細心一點則會發現每次運行第一個數都沒有改變。因此需要把第一個數移除,這樣就有點算隨機了。

方法1:

tb={}
math.randomseed(os.time())
local rand=math.random
for i=1,6 do
local x=rand(1,10)
tb[i]=x      --生成的數直接放入表中
end

table.remove(tb,1)   --移除第一項
方法2:用一張新表把舊錶裏面需要的元素都插入到新表中

tb1={}
 for i,v in pairs(tb) do
   if i~=1 then
    table.insert(tb1,v)
   end
 end





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