_hx_tab_array.lua 403 B

1234567891011121314151617181920
  1. _hx_array_mt = {
  2. __newindex = function(t,k,v)
  3. local len = t.length
  4. t.length = k >= len and (k + 1) or len
  5. rawset(t,k,v)
  6. end
  7. }
  8. function _hx_is_array(o)
  9. return type(o) == "table"
  10. and o.__enum__ == nil
  11. and getmetatable(o) == _hx_array_mt
  12. end
  13. function _hx_tab_array(tab, length)
  14. tab.length = length
  15. return setmetatable(tab, _hx_array_mt)
  16. end