wea.table_filter: also pass i as the 2nd argument

This commit is contained in:
Starbeamrainbowlabs 2021-05-30 16:17:19 +01:00
parent 8bc2e543da
commit 0474f5a0ee
Signed by: sbrl
GPG key ID: 1BE5172E637709C2

View file

@ -83,13 +83,16 @@ end
--- Filters the items in the given table using the given function. --- Filters the items in the given table using the given function.
-- The function is executed for each item in the list. If it returns true, the -- The function is executed for each item in the list. If it returns true, the
-- item is kept. If it returns false, the item is discarded. -- item is kept. If it returns false, the item is discarded.
-- Arguments passed to the function: item, i
-- ...where item is the item to filter, and i is the index in the table the item
-- is located at.
-- @param tbl table The table of values to filter. -- @param tbl table The table of values to filter.
-- @param func function<any>:bool The filter function to execute - should return a boolean value indicating whether the item provided as the first argument should be kept -- @param func function<any, number>:bool The filter function to execute - should return a boolean value indicating whether the item provided as the first argument should be kept
-- @returns table A new table containing the values that the given function returned true for. -- @returns table A new table containing the values that the given function returned true for.
function worldeditadditions.table_filter(tbl, func) function worldeditadditions.table_filter(tbl, func)
local result = {} local result = {}
for i,value in ipairs(tbl) do for i,value in ipairs(tbl) do
if func(value) then if func(value, i) then
table.insert(result, value) table.insert(result, value)
end end
end end