libs/table.lua

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
}