Software /
code /
verse
File
libs/table.lua @ 483:33d566513eb0
libs/table: Add table.move
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 17 Mar 2023 17:09:00 +0000 |
parent | 439:6fc73ad6b1d2 |
line wrap: on
line source
return { pack = function(...) return {n = select("#", ...); ...} end; create = function() return {} end; move = function (a1, f, e, t, a2) a2 = a2 or a1; if e >= f then local n = (e - f) + 1; if t > e or t <= f or a1 ~= a2 then for i = 0, n-1 do a2[t+i] = a1[f+i]; end else for i = n-1, 0, -1 do a2[t+i] = a1[f+i]; end end end return a2; end; }