2,875
edits
No edit summary |
No edit summary |
||
Line 31: | Line 31: | ||
-- Public functions | -- Public functions | ||
-- Determines whether all elements of a sequence satisfy a condition. | -- Determines whether all elements of a sequence satisfy a condition. | ||
function funlist | function funlist:all(predicate) | ||
assert(predicate) | assert(predicate) | ||
for _, v in pairs(mytable) do | for _, v in pairs(mytable) do | ||
Line 42: | Line 42: | ||
-- Determines whether any element of a sequence exists or satisfies a condition. | -- Determines whether any element of a sequence exists or satisfies a condition. | ||
function funlist | function funlist:any(predicate) | ||
if predicate then | if predicate then | ||
for _, v in pairs(mytable) do | for _, v in pairs(mytable) do | ||
Line 58: | Line 58: | ||
-- Appends a value to the end of the sequence. | -- Appends a value to the end of the sequence. | ||
function funlist | function funlist:append(item) | ||
assert(item) | assert(item) | ||
table.insert(mytable, item) | table.insert(mytable, item) | ||
Line 64: | Line 64: | ||
-- Determines whether a sequence contains a specified element. | -- Determines whether a sequence contains a specified element. | ||
function funlist | function funlist:contains(item) | ||
assert(item) | assert(item) | ||
for _, v in pairs(mytable) do | for _, v in pairs(mytable) do | ||
Line 75: | Line 75: | ||
-- Returns the number of elements in a sequence. | -- Returns the number of elements in a sequence. | ||
function funlist | function funlist:count() | ||
local count = 0 | local count = 0 | ||
for _, _ in pairs(mytable) do | for _, _ in pairs(mytable) do | ||
Line 84: | Line 84: | ||
-- Returns the element at a specified index in a sequence. | -- Returns the element at a specified index in a sequence. | ||
function funlist | function funlist:itemAt(index) | ||
local found, item = getElementAtIndex(index) | local found, item = getElementAtIndex(index) | ||
if found == true then | if found == true then | ||
Line 94: | Line 94: | ||
-- Returns the element at a specified index in a sequence or a default value if the index is out of range. | -- Returns the element at a specified index in a sequence or a default value if the index is out of range. | ||
function funlist | function funlist:itemAtOrDefault(index, defaultItem) | ||
local found, item = getElementAtIndex(index) | local found, item = getElementAtIndex(index) | ||
if found == true then | if found == true then | ||
Line 111: | Line 111: | ||
-- Returns the first element of a sequence, or a default value if no element is found. | -- Returns the first element of a sequence, or a default value if no element is found. | ||
function funlist | function funlist:firstOrDefault(defaultItem) | ||
for _, v in pairs(mytable) do | for _, v in pairs(mytable) do | ||
return v | return v | ||
Line 131: | Line 131: | ||
-- Returns the last element of a sequence, or a default value if no element is found. | -- Returns the last element of a sequence, or a default value if no element is found. | ||
function funlist | function funlist:lastOrDefault(defaultItem) | ||
if funlist.any() == false then | if funlist.any() == false then | ||
return defaultItem | return defaultItem |
edits