库指南

lua-users home
wiki

没有官方指南,但可以参考这里所述。

如果它不反映社区习惯,请随意修改。此页面尚未完成。

注册函数

这是常用的方法。在调用luaL_register时,您可以用NULL替换"modulename"。require 函数将执行必要的操作,将模块注册到 package.loaded[modulename] 中,并且模块名称将易于更改。

static const luaL_reg register_module[] = {
	{ "lua_function_name",		c_function_name },
	...
	{ NULL,				NULL	}
};

LUALIB_API int luaopen_modulename(lua_State* L) {
	luaL_register(L, "modulename", register_module);
	return 1;
}

注册用户数据的元表

您应该使用luaL_newmetatable,它会根据名称推送元表,如果元表不存在,它会创建并推送它,以便您可以填充它。例如

	if(luaL_newmetatable(L, "metatable name")){
		/* fill it in */
	}

您应该注意元表名称,以避免与其他模块发生冲突。例如,您可以使用 URI 作为 XML 文档中的命名空间。


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2009 年 6 月 18 日上午 11:37 GMT (差异)