local math_floor = math.floor;
local pairs, ipairs = pairs, ipairs;
local tostring = tostring;
local math_floor = math.floor;
local pairs, ipairs = pairs, ipairs;
local tostring = tostring;
-- existing_array:method([params, ...]) -- Transform existing array into result
--
function array_base.map(outa, ina, func)
-- existing_array:method([params, ...]) -- Transform existing array into result
--
function array_base.map(outa, ina, func)
function array_base.filter(outa, ina, func)
local inplace, start_length = ina == outa, #ina;
local write = 1;
function array_base.filter(outa, ina, func)
local inplace, start_length = ina == outa, #ina;
local write = 1;
--- These methods only mutate the array
function array_methods:shuffle(outa, ina)
local len = #self;
--- These methods only mutate the array
function array_methods:shuffle(outa, ina)
local len = #self;
self[i], self[r] = self[r], self[i];
end
return self;
end
function array_methods:append(array)
self[i], self[r] = self[r], self[i];
end
return self;
end
function array_methods:append(array)
function array_methods:concat(sep)
return t_concat(array.map(self, tostring), sep);
function array_methods:concat(sep)
return t_concat(array.map(self, tostring), sep);