2,875
edits
(Created page with "local Enumerable = require('Module:Enumerable') local Iterators = require('Module:Iterators') -- Helper function to check if objects are equal. local function isEqual(obj1, obj2) local type1 = type(obj1) local type2 = type(obj2) if type1 ~= type2 then return false end if type1 == "number" or type1 == "string" or type1 == "boolean" then return obj1 == obj2 elseif type1 == "table" then if #obj1 ~= #obj2 then retur...") |
No edit summary |
||
Line 1: | Line 1: | ||
local Enumerable = require(' | local Enumerable = require('Enumerable') | ||
local Iterators = require(' | local Iterators = require('Iterators') | ||
-- Helper function to check if objects are equal. | -- Helper function to check if objects are equal. | ||
Line 207: | Line 207: | ||
end | end | ||
-- Returns the sum value of a sequence of values. | |||
function Enumerable:sum() | function Enumerable:sum() | ||
local total = 0 | local total = 0 | ||
Line 248: | Line 249: | ||
end | end | ||
--Groups the elements of a sequence. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param keySelector fun(param: any): any | ---@param keySelector fun(param: any): any | ||
Line 255: | Line 257: | ||
end | end | ||
--Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The elements of each group are projected by using a specified function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param keySelector fun(param: any): any | ---@param keySelector fun(param: any): any | ||
Line 263: | Line 266: | ||
end | end | ||
--Produces the set intersection of two sequences. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param other Enumerable | ---@param other Enumerable | ||
Line 269: | Line 273: | ||
end | end | ||
--Produces the set intersection of two sequences according to a specified key selector function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param other Enumerable | ---@param other Enumerable | ||
Line 276: | Line 281: | ||
end | end | ||
--Projects each element of a sequence into a new form. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param selector fun(value: any, index: any): any | ---@param selector fun(value: any, index: any): any | ||
Line 282: | Line 288: | ||
end | end | ||
--Sorts a sequence. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@return SortableIterator | ---@return SortableIterator | ||
Line 288: | Line 295: | ||
end | end | ||
--Sorts a sequence in descending order. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@return SortableIterator | ---@return SortableIterator | ||
Line 294: | Line 302: | ||
end | end | ||
--Sorts a sequence based on a specified key selector function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@return SortableIterator | ---@return SortableIterator | ||
Line 300: | Line 309: | ||
end | end | ||
--Sorts a sequence based on a specified key selector function in descending order. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@return SortableIterator | ---@return SortableIterator | ||
Line 306: | Line 316: | ||
end | end | ||
--Sorts a sorted sequence further based on a specified key selector function. | |||
---@param self SortableIterator | ---@param self SortableIterator | ||
---@return SortableIterator | ---@return SortableIterator | ||
Line 313: | Line 324: | ||
end | end | ||
--Sorts a sorted sequence further based on a specified key selector function in descending order. | |||
---@param self SortableIterator | ---@param self SortableIterator | ||
---@return SortableIterator | ---@return SortableIterator | ||
Line 320: | Line 332: | ||
end | end | ||
--Produces the set union of two sequences according to a specified key selector function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param other any | ---@param other any | ||
Line 326: | Line 339: | ||
end | end | ||
--Produces the set union of two sequences according to a specified key selector function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param other any | ---@param other any | ||
Line 333: | Line 347: | ||
end | end | ||
--Returns unique (distinct) elements from a sequence according to a specified key selector function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
function Enumerable:unique() | function Enumerable:unique() | ||
Line 338: | Line 353: | ||
end | end | ||
--Returns unique (distinct) elements from a sequence according to a specified key selector function. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param keySelector? fun(value: any, index: any): any | ---@param keySelector? fun(value: any, index: any): any | ||
Line 344: | Line 360: | ||
end | end | ||
--Filters a sequence of values based on a predicate. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param predicate fun(value: any, index: any): boolean | ---@param predicate fun(value: any, index: any): boolean | ||
Line 350: | Line 367: | ||
end | end | ||
--Projects each element of a sequence to an Enumerable and flattens the resulting sequences into one sequence. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param other any | ---@param other any | ||
Line 356: | Line 374: | ||
end | end | ||
--Projects each element of a sequence to an Enumerable and flattens the resulting sequences into one sequence. | |||
---@param self Enumerable | ---@param self Enumerable | ||
---@param other any | ---@param other any |
edits