| 1 | return { |
| 2 | pack = function(...) return {n = select("#", ...); ...} end; |
| 3 | create = function() return {} end; |
| 4 | move = function (a1, f, e, t, a2) |
| 5 | a2 = a2 or a1; |
| 6 | if e >= f then |
| 7 | local n = (e - f) + 1; |
| 8 | if t > e or t <= f or a1 ~= a2 then |
| 9 | for i = 0, n-1 do |
| 10 | a2[t+i] = a1[f+i]; |
| 11 | end |
| 12 | else |
| 13 | for i = n-1, 0, -1 do |
| 14 | a2[t+i] = a1[f+i]; |
| 15 | end |
| 16 | end |
| 17 | end |
| 18 | return a2; |
| 19 | end; |
| 20 | } |