Module:TableBuilder : Différence entre versions
(new : la table est crée avec les éléments transmis à la fonction) |
|||
Ligne 34 : | Ligne 34 : | ||
local TableBuilder = { | local TableBuilder = { | ||
− | new = function() | + | new = function( ... ) |
− | local t = {} | + | local t = { ... } |
− | setmetatable(t, meta) | + | setmetatable( t, meta ) |
return t | return t | ||
end | end |
Version du 2 septembre 2013 à 12:12
La documentation pour ce module peut être créée à Module:TableBuilder/doc
--Module appliquant aux fonctions de la librairie Table une inteface fluide. local meta = {} 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.concat = function(t, ...) return table.concat(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