Przejdź do zawartości

Moduł:StringToFrame

Z Wikiźródeł, wolnej biblioteki

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