function table.slice(tbl, first, last, step) local sliced = {} for i = first or 1, last or #tbl, step or 1 do sliced[#sliced+1] = tbl[i] end return sliced end local a = {1, 2, 3, 4} local b = table.slice(a, 2, 3) print(a[1], a[2], a[3], a[4]) print(b[1], b[2], b[3], b[4])