« Module:TableBuilder » : différence entre les versions
Aller à la navigation
Aller à la recherche
implémentation par Utilisateur:Zebulon84 |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
--Module appliquant au fonction de la librairie Table une inteface fluide | --Module appliquant au fonction de la librairie Table une inteface fluide. | ||
local meta = {} | local meta = {} | ||
Version du 25 août 2013 à 18:07
--Module appliquant au fonction de la librairie Table une inteface fluide.
local meta = {}
meta.concat = function(t, ...)
return table.concat(t, ...)
end
meta.insert = function(t, ...)
table.insert(t, ...) return t
end
meta.remove = function(t, ...)
table.remove(t, ...) return t
end
meta.sort = function(t, ...)
table.sort(t, ...) return t
end
meta.maxn = function(t)
return table.maxn(t)
end
meta.__index = function(t, key)
local metafunc = meta[key]
if type(metafunc) == 'function' then
return (function (...) return metafunc(t, ...) end)
end
end
local TableBuilder = {
new = function()
local t = { }
setmetatable(t, meta)
return t
end
}
return TableBuilder