如何通过 for 循环从 C 函数返回表的表到 Lua

2024-01-27

我有一个std::list对象,我想给 Lua 一个返回其多维位置的函数。所以我需要创建一个表的表:

{{1,2,3...,512}, {1,2,3...,512},...,512}

lua_newtable(L);

    for (int i = 0; i < 512; i++)
    {
        lua_newtable(L);

        lua_pushnumber(L, pos[i]);
        lua_rawseti(L, -2, i);
        lua_rawseti(L, -2, i+1);

        for (int j = 0; j < 512; j++)
        {
                //pos[i][j]
        }
    }

我会尝试反复尝试,但由于我现在不知道如何调试它,所以我真的迷失了。


我认为您想创建尺寸为 512x512 的嵌套表(或矩阵)。

static int CreateMatrix( lua_State *L ) {
    lua_newtable( L );
    for( int i = 0; i < 512; i++ ) {
        lua_pushnumber( L, i + 1 );    // parent table index
        lua_newtable( L );             // child table
        for( int j = 0; j < 512; j++ ) {
            lua_pushnumber( L, j + 1 );  // this will be the child's index
            lua_pushnumber( L, j + 1 );  // this will be the child's value
            lua_settable( L, -3 );
        }
        lua_settable( L, -3 );
    }
    return 1;
}

您当然可以使用自己的值/索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 for 循环从 C 函数返回表的表到 Lua 的相关文章

随机推荐

  • Acer Iconia A200 上的 VideoView getCurrentPosition() 不规则

    我有一个带有 VideoView 的应用程序 我设置了一个要在 VideoView 中播放的视频 视频播放时的某个时刻 它会暂停 然后 在暂停一段时间后 它将再次开始播放视频 但会向前播放到视频没有暂停时的位置 例如 视频开始播放 视频暂停
  • 我的 Excel 2010 添加仅在打开空白工作簿时显示。打开现有文档时不会显示

    我们已经制作了一个 Excel 插件 该插件已正确安装 并且仅在从主图标 或空白工作簿 打开 Excel 时才会显示 打开任何现有保存的 Excel 文档时 它不会显示在工具栏上 我已确保在打开现有文档时 在文件 gt 选项 gt 添加中
  • 如何在重新打开应用程序时显示相同的视图

    我有一个表视图 它在单击表中的某行时显示一个 Web 视图 该视图又从 SQLite 中获取数据 如果用户在 webview 中查看描述时按 home 键关闭应用程序 然后有时重新打开它 我应该让用户看到相同的屏幕 如何再次显示相同的视图
  • JQGrid 设置不同的 URL 进行添加、编辑、删除

    我想在网格顶部添加三个按钮 用于添加 编辑 删除 并希望为每个操作调用单独的 URL 我想为此使用表单编辑 谁能给我推荐一个示例代码 提前致谢 阿布舍克 如果您需要在网格顶部添加表单编辑按钮 您应该使用toppager truejqGrid
  • std.regex.regex 的返回值?

    我正在尝试编写一个函数 它接受一个输入字符串 一个正则表达式 由std regex regex来自原始字符串 和错误消息字符串 并尝试使用正则表达式匹配输入字符串中的某些内容 如果没有匹配则显示错误消息 到目前为止我想出了以下签名 stri
  • 从 Web api 返回 JsonResult,不带其属性

    我有一个 Web API 控制器 从那里我从一个操作返回一个 JSON 对象 我这样做是这样的 public ActionResult GetAllNotificationSettings var result new List
  • Paypal支付:在webview中加载paypal时如何获取成功请求

    Edit paypal登录后 我可以成功完成交易 但我需要匹配成功网址在 paypal 中验证两个 url 是否相同 然后显示成功的 toast 消息 但我没有从付款中获得成功网址 所以我无法匹配它 下面我发布了相关代码 WebActivi
  • 会话在 Firefox 中的通用处理程序 .ashx 中不起作用

    我创建了实现 IRequiresSessionState 的 ashx 因此我可以在该 ashx 中创建会话变量 它在 IE 中工作 但在 Firefox 中不起作用 当从其他页面访问此会话变量时 它为 NULL 任何想法 谢谢 也许您不允
  • Jasper Reports:如何编译子报表

    我有一个独立的应用程序 它的职责之一是获取 jrxml 文件的路径并编译它 我可以毫无问题地执行此操作 直到出现带有子报表的报表 其中主报表的编译不会编译其任何子报表 从而导致稍后找不到子报表 jasper 文件 有什么办法可以 1 设置J
  • 无法从 AngularJS index.html 导航到 VueJS Web 应用程序

    我试图将 AngularJS 和 VueJS 项目合并在一起 因为我们需要从 AngularJS 应用程序内部调用在 VueJS 中设计的流程 为了将 AngularJS 和 VueJS 项目合并在一起 我将 Angular 和 Vue 的
  • objectDatasource 中的 SelectMethod 被多个 datapagerfield 多次调用

    好的 这是设置 我正在构建一个包含列表视图 数据分页器和 3 个数据分页器字段 2 x NextPreviousPagerField 1 x NumericPagerField 的页面 以及一个将所有这些组合在一起的对象数据源 一切都工作正
  • Java中构造函数的调用

    在 Java 完整参考 一书中 Demonstrate when constructors are called Create a super class class A A System out println Inside A s co
  • Apache ITK 与 Suexec

    使用有什么好处ITK模块而不是Suexec运行 Apache 服务器 想法是一样的 都是以所有者权限运行脚本 而不是nobody www or apache 是不是比较好用ITK有利于suexec 如果是这样 为什么 相比之下 安全性和性能
  • 不兼容,因为该组件声明了一个与 Java 11 兼容的组件,而使用者需要一个与 Java 10 兼容的组件

    在我的 build gradle 文件中 我升级了一个依赖项的版本 即 com db microservice commons 加载 gradle 更改后 我收到以下错误消息 gt Build file C Projects Contain
  • 我应该如何在 php 中使用 dom 获取这样的 div 内容?

    div是这样的 div style width 90 margin 0 auto color Black this is text severaltags div 我应该如何获取 div 的内容 包括在php中使用dom标签 假设你使用 P
  • 始终显示 ChartJS 自定义工具提示

    在遵循了这里和官方文档中的几个指南之后 我完全陷入困境 我有一些自定义工具提示 它们将根据自定义工具提示中的数据名称在其中显示 PNG 图形 我找到了几种隐藏工具提示的解决方案 或者将它们全部设置为始终显示 但它们似乎都没有按照我想要的方式
  • Android 中的 Firebase 实时数据库 setValue 不起作用

    我第一次尝试使用实时数据库 设置值功能对我不起作用 我已经通过以下方式更新了写作规则 rules read true write true 我的代码如下所示 Integer Age 24 FirebaseDatabase mDatabase
  • 在 C# 中缓冲字节数据

    我的应用程序从 TCP 套接字读取字节并需要缓冲它们 以便我稍后可以从中提取消息 由于 TCP 的性质 我可能会在一次读取中获得部分或多个消息 因此每次读取后我想检查缓冲区并提取尽可能多的可用完整消息 因此 我想要一个允许我执行以下操作的类
  • User.Identity.GetUserId() 方法在 Web Api 2 控制器中不起作用

    在常规控制器中 以下代码有效 HttpPost public ActionResult Custom string name User Identity GetUserName string id User Identity GetUser
  • 如何通过 for 循环从 C 函数返回表的表到 Lua

    我有一个std list对象 我想给 Lua 一个返回其多维位置的函数 所以我需要创建一个表的表 1 2 3 512 1 2 3 512 512 lua newtable L for int i 0 i lt 512 i lua newta