void luaL_register (lua_State *L, const char *libname, const luaL_Reg *l);
Opens a library.
When called with libname
equal to NULL
, it simply registers all functions in the list l
(see luaL_Reg
) into the table on the top of the stack.
When called with a non-null libname
, luaL_register
creates a new table t
, sets it as the value of the global variable libname
, sets it as the value of package.loaded[libname]
, and registers on it all functions in the list l
. If there is a table in package.loaded[libname]
or in variable libname
, reuses this table instead of creating a new one.
In any case the function leaves the table on the top of the stack.