1个回答
2021-12-15 · 学动漫、设计、电竞、电商、短视频、软件等
关注
展开全部
辅助库提供了一些便捷函数,方便在 C 中为 Lu a 编程。 基础 API 提供了 C 和 L ua 交互用的主要函数, 而辅助库则为一些常见的任务提供了高阶函数。
所有辅助库中的函数和类型都定义在头文件 lauxlib.h 中, 它们均带有前缀 luaL_。
辅助库中的所有函数都基于基础 API 实现。 故而它们并没有提供任何基础 API 实现不了的功能。 虽然如此,使用辅助库可以让你的代码更为健壮。
一些辅助库函数会在内部使用一些额外的栈空间。 当辅助库使用的栈空间少于五个时, 它们不去检查栈大小;而是简单的假设栈够用。
一些辅助库中的函数用于检查 C 函数的参数。 因为错误信息格式化为指代参数 (例如,"bad argument #1"), 你就不要把这些函数用于参数之外的值了。
如果检查无法通过, luaL_check* 这些函数一定会抛出错误。
设置给定活动记录中的局部变量的值。 参数 ar 与 n 和 lu a_getlocal 中的一样 ()。 lua_setlocal 把栈顶的值赋给变量然后返回变量的名字。 它会将值从栈顶弹出。
当索引大于活动局部变量的数量时,返回 NULL (什么也不弹出)。
lu a_setupvalue
const char *l ua_setupvalue (lua_State *L, int funcindex, int n);
设置闭包上值的值。 它把栈顶的值弹出并赋于上值并返回上值的名字。 参数 funcindex 与 n 和 lu a_getupvalue 中的一样 (参见 lu a_getupvalue )。
当索引大于上值的数量时,返回 NULL (什么也不弹出)。
lu a_upvalueid
void *lu a_upvalueid (lua_State *L, int funcindex, int n);
返回索引 funcindex 处的闭包中 编号为 n 的上值的一个唯一标识符。 参数 funcindex 与 n 和 lu a _getupvalue 中的一样 (参见 l ua_getupvalue )。 (但 n 不可以大于上值的数量)。
这些唯一标识符可用于检测不同的闭包是否共享了相同的上值。 共享同一个上值的 Lu a 闭包(即它们指的同一个外部局部变量) 会针对这个上值返回相同的标识。
lu a_upvaluejoin
void lu a_upvaluejoin (lua_State *L, int funcindex1, int n1, int funcindex2, int n2);
让索引 funcindex1 处的 L ua 闭包的第 n1 个上值 引用索引 funcindex2 处的 Lua 闭包的第 n2 个上值。
所有辅助库中的函数和类型都定义在头文件 lauxlib.h 中, 它们均带有前缀 luaL_。
辅助库中的所有函数都基于基础 API 实现。 故而它们并没有提供任何基础 API 实现不了的功能。 虽然如此,使用辅助库可以让你的代码更为健壮。
一些辅助库函数会在内部使用一些额外的栈空间。 当辅助库使用的栈空间少于五个时, 它们不去检查栈大小;而是简单的假设栈够用。
一些辅助库中的函数用于检查 C 函数的参数。 因为错误信息格式化为指代参数 (例如,"bad argument #1"), 你就不要把这些函数用于参数之外的值了。
如果检查无法通过, luaL_check* 这些函数一定会抛出错误。
设置给定活动记录中的局部变量的值。 参数 ar 与 n 和 lu a_getlocal 中的一样 ()。 lua_setlocal 把栈顶的值赋给变量然后返回变量的名字。 它会将值从栈顶弹出。
当索引大于活动局部变量的数量时,返回 NULL (什么也不弹出)。
lu a_setupvalue
const char *l ua_setupvalue (lua_State *L, int funcindex, int n);
设置闭包上值的值。 它把栈顶的值弹出并赋于上值并返回上值的名字。 参数 funcindex 与 n 和 lu a_getupvalue 中的一样 (参见 lu a_getupvalue )。
当索引大于上值的数量时,返回 NULL (什么也不弹出)。
lu a_upvalueid
void *lu a_upvalueid (lua_State *L, int funcindex, int n);
返回索引 funcindex 处的闭包中 编号为 n 的上值的一个唯一标识符。 参数 funcindex 与 n 和 lu a _getupvalue 中的一样 (参见 l ua_getupvalue )。 (但 n 不可以大于上值的数量)。
这些唯一标识符可用于检测不同的闭包是否共享了相同的上值。 共享同一个上值的 Lu a 闭包(即它们指的同一个外部局部变量) 会针对这个上值返回相同的标识。
lu a_upvaluejoin
void lu a_upvaluejoin (lua_State *L, int funcindex1, int n1, int funcindex2, int n2);
让索引 funcindex1 处的 L ua 闭包的第 n1 个上值 引用索引 funcindex2 处的 Lua 闭包的第 n2 个上值。
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询