Module:CommonFunctions: Difference between revisions
From Elwiki
No edit summary |
No edit summary |
||
Line 38: | Line 38: | ||
-- Implement splitting string to a table. | -- Implement splitting string to a table. | ||
function split( | function split(s, delimiter) | ||
if delimiter == nil then delimiter = ',' end | |||
result = {}; | |||
for match in (s..delimiter):gmatch("(.-)"..delimiter) do | |||
table.insert(result, match); | |||
end | |||
return result; | |||
end | end |
Revision as of 19:32, 7 April 2022
Documentation for this module may be created at Module:CommonFunctions/doc
-- String starts
function string.starts(String, Start)
return string.sub(String, 1, string.len(Start)) == Start
end
-- Implement sorted loop through array.
function spairs(t)
local keys = {}
for k in pairs(t) do keys[#keys+1] = k end
table.sort(keys)
local i = 0
return function()
i = i + 1
if keys[i] then
return keys[i], t[keys[i]]
end
end
end
-- Implement merging tables
function tableMerge(first_table, second_table)
for k,v in spairs(second_table) do first_table[k] = v end
end
-- Implement rounding.
function round(num, numDecimalPlaces)
if numDecimalPlaces == nil then
numDecimalPlaces = 2
end
local mult = 10^(numDecimalPlaces or 0)
return math.floor(num * mult + 0.5) / mult
end
-- Implement string trim.
function trim(s)
return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
end
-- Implement splitting string to a table.
function split(s, delimiter)
if delimiter == nil then delimiter = ',' end
result = {};
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match);
end
return result;
end