如何从表中删除数字?

时间:2018-05-04 14:11:07

标签: lua corona

我不知道为什么这不起作用。当我按下'MyButton'按钮时,我试图逐个删除表中的数字(randomCheck从表中选择一个数字,我想删除那个确切的数字)

math.randomseed(os.time())

_X = display.contentCenterX
_Y=display.contentCenterY

local numbers = {1,2,3,4,5,6,7,8,9,10}
local randomCheck =  numbers[ math.random( #numbers) ]
local text = display.newText(""..randomCheck.."",_X,_Y,"Helvetica",50)

function removeNumber()
    for i = 1, 10 do
        if(randomCheck == i ) then 
            table.remove(numbers,i) 
            text.text = (""..i.."") 
        end 
    end
end

myButton = display.newRect(_X,_Y+100,100,80 )
myButton:addEventListener("tap", removeNumber)

1 个答案:

答案 0 :(得分:0)

在你的循环中,而不是

if(randomCheck == i)

使用

if(randomCheck == numbers[i])

但所有这些工作都是不必要的。

而不是

local randomCheck =  numbers[math.random( #numbers)]

使用

local randomIndex =  math.random(#numbers)
local randomCheck =  numbers[randomIndex]

然后你可以

table.remove(numbers, randomIndex)