在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 Development Tools)独有的。我会更新我的问题
答案 0 :(得分:1)
我最终使用--@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
答案 1 :(得分:0)
您可以使用type(val)
来验证传递的数据类型,并返回有效的错误消息来向编码器描述错误。