如何在Lua开发工具中记录一个输入参数是某种类型的表格?

在Lua开发工具中,如何记录一个输入参数是某种类型的表格?

mynamespace = {}

---
-- @type mynamespace.MyClass
-- @field #number var1
mynamespace.MyClass = {}

---
-- @param #number param1
-- @return #mynamespace.MyClass
function mynamespace.MyClass.new(param1)
    local self = mynamespace.MyClass
    self.var1 = param1
    return self
end

---
-- @param WHAT_DO_I_WRITE_HERE arrayOfMyClass
function processArrayOfMyClass(arrayOfMyClass)
    for i=1, #arrayOfMyClass do
        instanceOfMyClass = arrayOfMyClass[i]
        -- ... do something with an element of the array
    end
end

编辑:抱歉,伙计们。看起来这篇文档是专门针对LDT(Lua开发工具)的。我会更新我的问题。

点赞
用户3979429
用户3979429

你可以使用 type(val) 来验证传递的数据类型,并返回一个有效的错误信息,以描述代码中的错误。

2016-09-27 20:33:40
用户2583765
用户2583765

我最终使用 --@param #list<#bajas.ReinforcementSetup> reinforcementSetups,效果很好!

在LDT文档中找到了它,链接在这里: https://wiki.eclipse.org/LDT/User_Area/Documentation_Language#Structure_types

mynamespace = {}

---
-- @type mynamespace.MyClass
-- @field #number var1
mynamespace.MyClass = {}

---
-- @param #number param1
-- @return #mynamespace.MyClass
function mynamespace.MyClass.new(param1)
    local self = mynamespace.MyClass
    self.var1 = param1
    return self
end

---
-- @param #list<#mynamespace.MyClass> arrayOfMyClass
function processArrayOfMyClass(arrayOfMyClass)
    for i=1, #arrayOfMyClass do
        instanceOfMyClass = arrayOfMyClass[i]
        -- ... do something with an element of the array
    end
end
2016-09-28 19:43:07