lua中创建数组(ToLua )

  • lua只有table的概念,并没有数组的概念,C#中的数组System.Array被ToLua认为是userdata类型
  • 可以像table一样去索引其中的元素,但不能用 for k,v in pair 或 for i,v in ipair 因为是不是table

代码用于基于ToLua的Unity UGUI框架

local length = 10
-- ExampleClass在CustomSetting中已注册
local array = System.Array.CreateInstance(typeof(UnityEngine.XXXClass), length)
for i = 0, array.Length - 1 do
	print(array[i])
end

框架的范例中找不到CreateInstance的用法,但是在生成的绑定代码中能找到线索。
Assets\LuaFramework\ToLua\BaseType\UnityEngine_ContactFilter2DWrap
lua中创建数组(ToLua )_第1张图片

参考自 https://github.com/jarjin/LuaFramework_UGUI

你可能感兴趣的:(Lua)