Moduł:StringToFrame
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:StringToFrame/opis
local p = {}
function split(source, delimiters)
local elements = {}
local pattern = '([^'..delimiters..']+)'
string.gsub(source, pattern, function(value) elements[#elements + 1] = value; end);
return elements
end
function split2D(source, delimiter1, delimiter2)
local elements = {}
local pattern2 = '([^'..delimiter2..']+)'
local pattern12 = '[^'..delimiter1..']+'..delimiter1
local pattern11 = delimiter1..'[^'..delimiter2..']+'
string.gsub(source, pattern2, function(value) elements[string.gsub(value,pattern11,"")] = string.gsub(value,pattern12,""); end);
return elements
end
--- frame:newChild{ title = title, args = table }
function argtab(table)
local argi = { }
if table[2] == nil and table[1] ~= nil and table[1] ~= '' and (table[1]:sub(1,3) == "a1=" or table[1]:sub(1,3) == "t1=") then
table[1] = string.gsub(table[1], "; *([at]%d*) *= *", ";%1")
argi=split2D(table[1], "=", ";")
else
argi=table
end
return argi
end
function p.semicolonseparator(frame)
local myString = "Flintstone, Fred, 101 Rockledge, Bedrock, 98775, 555-555-1212"
local myTable = split2D(frame.args[1], "=", ";")
return myTable["a2"]
end
return p