Lua 如何遍历集合中的结果?

Lua 如何遍历集合中的结果?,lua,tabletop-simulator,Lua,Tabletop Simulator,在我的桌面模拟器模块中,我有一个包,当有东西掉到包中时,调用emptyContents()函数。例如,我可以在袋子里投15个骰子 function emptyContents() contents = self.getObjects() for i, _ in ipairs(self.getObjects()) do if i <= 6 then self.takeObject(setPosition(5, -3)) elseif

在我的桌面模拟器模块中,我有一个包,当有东西掉到包中时,调用
emptyContents()
函数。例如,我可以在袋子里投15个骰子

function emptyContents()
    contents = self.getObjects()

    for i, _ in ipairs(self.getObjects()) do
      if i <= 6 then
        self.takeObject(setPosition(5, -3))
      elseif i <= 12 then
        self.takeObject(setPosition(12.4,-5))
      elseif i <= 18 then
        self.takeObject(setPosition(19.8,-7))
      end
    end
end
emptyContents()
函数中,我迭代包中的对象。但正如你所看到的,我必须输入多个if语句来捕获所输入的骰子数量,因为我希望骰子在不同的位置上生成

内容变量是袋中的骰子数量

function emptyContents()
    contents = self.getObjects()

    for i, _ in ipairs(self.getObjects()) do
      if i <= 6 then
        self.takeObject(setPosition(5, -3))
      elseif i <= 12 then
        self.takeObject(setPosition(12.4,-5))
      elseif i <= 18 then
        self.takeObject(setPosition(19.8,-7))
      end
    end
end
函数emptyContents()
contents=self.getObjects()
对于i,ipair(self.getObjects())中的

如果我可能您可以添加如下配置:

local t = {
    {6, 5, -3},
    {12, 12.4, -5},
    {18, 19.8, -7},
}

function emptyContents()
    contents = self.getObjects()

    for i, _ in ipairs(self.getObjects()) do
        for _, v in ipairs(t) do
            local l, p1, p2 = unpack(v)
            if i <= l then
                self.takeObject(setPosition(p1, p2))
                break
            end
        end
    end
end
localt={
{6, 5, -3},
{12, 12.4, -5},
{18, 19.8, -7},
}
函数emptyContents()
contents=self.getObjects()
对于i,ipair(self.getObjects())中的
对于ipairs(t)do中的v
本地l、p1、p2=拆包(v)
如果我