2015-04-19 65 views
0

在PC上,我的遊戲編譯罰款和正常運行,但只要我建立它的Android我得到這個奇怪的錯誤代碼:的Lua(科羅娜SDK)Android的問題 - 時間間隔爲空

bad argument #1 to 'random' (interval is empty) 

線這個代碼錯誤代碼來自是:

local word = wordsList[math.random(#wordsList)] 

整個代碼Segement:

local lineCount = 1 
local wordsList = {} 
local wordAccepted = true 
local file = io.open(system.pathForFile("words.txt", system.ResourceDirectory), "r") --Open the words file from the resource folder 
for line in file:lines() do 
    if #line > 1 and #line <= 10 then 
     for i = 1,#line do 
      if string.byte(line,i)<65 or string.byte(line,i)>90 and string.byte(line,i)<97 or string.byte(line,i)>122 then 
       wordAccepted = false 
      end 
     end 
     if wordAccepted == true then 
      print ("accepted "..line) 
      wordsList[lineCount]=string.upper(line) 
      lineCount = lineCount + 1 
     else 
      print("rejected "..line) 
     end 
    end 
end 
io.close(file) 
file = nil 
local word = wordsList[math.random(#wordsList)] 
+0

什麼是'wordsList'?它有多大? –

+0

我嘗試了大小爲3和78的wordsList。兩者都有相同的問題 – GMSkittles

+0

提供'wordsList'的一個小例子。 –

回答

0

錯誤消息bad argument #1 to 'random' (interval is empty)表示您正嘗試將零傳遞給math.random()
換句話說,你的wordsList數組是空的。

+0

任何想法爲什麼這隻會是PC上的問題?難道是在Android上它無法讀取文本文件或無法以某種方式訪問​​它? – GMSkittles

+0

在您的Android系統中,文件'words.txt'可能是空的或不正確的,或者與PC上的文件不同。 –