Anonymous

Module:FunList: Difference between revisions

From Melvor Idle
no edit summary
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.all(predicate)
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.any(predicate)
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.append(item)
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.contains(item)
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.count()
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.itemAt(index)
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.itemAtOrDefault(index, defaultItem)
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.firstOrDefault(defaultItem)
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.lastOrDefault(defaultItem)
function funlist:lastOrDefault(defaultItem)
if funlist.any() == false then
if funlist.any() == false then
return defaultItem
return defaultItem
2,875

edits