init.lua
require('table.new')
local extensions = {}
extensions.meta = {}
extensions.math = require('math.lua')
extensions.string = require('string.lua')
extensions.table = require('table.lua')
extensions.coroutine = require('coroutine.lua')
extensions.base = require('base.lua')
local autoload = {
math = extensions.math,
string = extensions.string,
table = extensions.table,
coroutine = extensions.coroutine,
}
function extensions.load()
for name, ext in pairs(autoload) do
for k, v in pairs(ext) do
if _G[name][k] == nil then
_G[name][k] = v
end
end
end
for k, v in pairs(extensions.base) do
if _G[k] == nil then
_G[k] = v
end
end
end
function extensions.meta:__call()
self.load()
return self
end
setmetatable(extensions, extensions.meta)
return extensions