Función Filtrar query

Todas los scripts relacionados con AMS.
Bueno, esta función la hice principalmente para poder crear una tabla en base a un query que realizan los exploradores web con el método POST (pero pueden usarla para lo que quieran modificandola a su antojo). Aca un ejemplo de uno de estos queries:

http://www.server.com/index.php?user=myusername&pass=mypassword&other=myother

La cadena a filtrar es la señalada en rojo y se obtiene con el url.parse del luasocket ;)

Aca la función y la llamada:
function fexpose (t, d)
	local tb = {};
	for x, y in pairs(t) do
		local nP = string.find(y, d, 1, true)
		if nP then
			tb[string.sub(y, 1, nP-1)] = string.sub(y, nP+1, -1)
		end
	end
	return tb;
end
function FilterRequest(s, d)--Lo mismo que el DelimitedToTable pero con otro nombre y llamada a la segunda función
	if not d or #d < 1 then return nil end
	local tbl = {};
	local sa = s;
	local sD = "";
	local nP = string.find(sa, d, 1, true)
	while nP do
		sD = string.sub(sa, 1, nP-1)
		table.insert(tbl, #tbl+1, sD)
		sa = string.sub(sa, nP+1, -1)
		nP = string.find(sa, d, 1, true)
	end
	if sa ~= "" then table.insert(tbl, #tbl+1, sa) end
	return fexpose(tbl, "=");
end
local ta = FilterRequest("user=myusername&pass=mypassword&other=myother", "&")
Dialog.Message("Usuario", ta.user)
Como ven nos genera (retorna, regresa) una tabla asociativa (hash table) que podemos consultar mediante los nombres de sus miembros.

Ojala les agrade y sirva
muy, pero que muy interesante. muchas gracias.
gracias
está bien, lo malo que no se que es una query...