lua相关内容

Redis 的 Lua 脚本,它对键的值求和

我正在构建我的第一个 Redis 服务器端脚本(用于调试),但由于缺乏 Lua 经验而陷入困境. 本质上有一个 K/V 对(包含约 1000 个值)的数据集,我想从中列出与模式匹配的所有键.例如在 redis-cli 中: >按键“卡洛斯:*"1)“卡洛斯:1"2)“卡洛斯:2"3)“卡洛斯:3"4)“卡洛斯:4" 基于上述输出,我想通过执行 Lua 脚本来返回这些键的总和.目前我的 s ..
发布时间:2021-12-30 20:50:40 其他开发

如何使用 Luarocks 为 Lua5.2 和 5.1 安装库?

我正在编写一个小型 Lua 项目并使用 Luarocks 安装我的第 3 方依赖项.我机器上的默认 Lua 版本是 5.2,到目前为止一切正常. 然而,今天我偶然发现了一个让我感到困惑的问题.我想在 Lua 5.1 和 Luajit 上运行我的程序,看看它是否也适用于这些版本,但我很难让 Luarocks 下载相应版本的依赖项.作为最后的 hack,我试图告诉 Lua5.1 使用 Luaro ..
发布时间:2021-12-30 20:50:33 其他开发

Lua:四舍五入数字然后截断

四舍五入然后截断它(四舍五入后去除小数位)的最有效方法是什么? 例如,如果小数大于 0.5(即 0.6、0.7 等),我想向上舍入然后截断(情况 1).否则,我想截断(案例 2) 例如:232.98266601563 =>舍入和截断后 = 233(情况 1)232.49445450000 =>舍入和截断后 = 232(情况 2)232.50000000000 =>舍入和截断后 = 232( ..
发布时间:2021-12-30 20:50:21 其他开发

如何在 Lua 中获取哈希表中的键数?

myTable = {}myTable["foo"] = 12myTable["bar"] = "blah"print(#myTable) -- 这会打印 0 我真的必须遍历表中的项目才能获得键的数量吗? numItems = 0对于 k,v 成对 (myTable) 做numItems = numItems + 1结尾print(numItems) -- 这会打印 2 解决方案 我尝试了 ..
发布时间:2021-12-30 20:50:14 其他开发

如何在 Lua 中制作 GUI 应用程序

首先,我将向您展示我正在谈论的示例:GUI 示例 我已经学习 Lua 大约一个星期了,我真的很好奇我将如何做到这一点.基本上(就目前而言,出于学习目的),我只想制作一个带有 2 个按钮的 GUI,1 个用于启动指定的 (.exe),一个用于退出 GUI. 这可能吗?我该怎么做呢?任何信息都会很棒! 解决方案 我相信你可能想看看:http://lua-users.org/wiki ..
发布时间:2021-12-30 20:50:07 其他开发

现代虚拟机如何处理内存分配?

我正在开发一个用 C 编写的简单堆栈机器,主要用于学习目的.在使用 malloc/free 进行内存操作后,我认为从现代虚拟机中读取一些内存分配特定代码是个好主意. 我下载了 Lua 源代码并开始阅读.过了一会儿,我发现里面有很多宏的东西,我找不到真正的内存分配的代码(即malloc调用). 查找.-exec grep -i "malloc" '{}' \;-打印 它只打印了一些名称中带 ..
发布时间:2021-12-30 20:49:58 其他开发

静态类型 Lua

我正在寻找一个 Lua 前端编译器,它在编译时进行类型检查,但输出标准的 Lua 5.1 字节码(只有运行时类型).我想要的是相当数量的静态、编译时句法分析和可选类型,以便比运行时更早地检测到微不足道的错误.生成的字节码必须能够与使用标准 LoadString() 编译的现有 Lua 字节码完美配合. 要清楚——任何差异只会发生在字节编译时.在运行时,字节码不知道在编译阶段发生了任何不同/不 ..
发布时间:2021-12-30 20:49:49 其他开发

Lua 与 XML 的数据存储

我们中的许多人都被灌输了使用 XML 存储数据的知识.它的优点和缺点是众所周知的,我当然不想在这里讨论它们.但是在我用 C++ 编写的项目中,我也在使用 Lua.我非常惊讶 Lua 可以很好地用于存储和处理数据.然而,Lua 的这一方面鲜为人知,至少在游戏编程领域是如此. 我知道 XML 在诸如通过 Internet 发送数据的情况下以及在需要安全的地方(例如使用从网络下载的数据或加载用户可 ..
发布时间:2021-12-30 20:49:40 C/C++开发

如何使用 gdb 从核心文件中获取 lua 堆栈跟踪

我有一个 C++ 应用程序(用于 OS X),它调用 lua 作为脚本语言.我正在运行大量这些应用程序(100 个)并且它们可以运行很长一段时间(几天或几周). 有时会崩溃.当它崩溃时,它给我留下了一个可爱的核心文件. 我可以在 gdb 中打开这个核心文件并找到应用程序崩溃的地方.我可以遍历调用堆栈并找到一个 lua_State 变量的实例.我的问题是我想看看 lua 调用堆栈是什么样 ..
发布时间:2021-12-30 20:49:30 C/C++开发

Lua:从浮点数转换为整数

尽管 Lua 不区分浮点数和整数,但在某些情况下,您想使用整数.如果您不能进行类似 C 的强制转换或没有 Python 的 int 之类的东西,那么将数字转换为整数的最佳方法是什么? 例如在计算 中数组的索引时 idx = 位置/宽度 如何确保 idx 是有效的数组索引?我想出了一个使用 string.find 的解决方案,但也许有一种使用算术的方法显然会快得多.我的解决方案: ..
发布时间:2021-12-30 20:49:21 其他开发

Openresty 中的并发模型是什么?

我很难理解 openresty(或 nginx)的并发模型.我阅读了 Lua 变量范围,它解释了变量的生命周期,但它没有说明并发访问给他们. 文字很难解释,所以我试着用代码来解释.想象一下,我有这个 Lua 模块: 本地计数器 = {count = 0}函数 counter.incr(amount)counter.count = counter.count +(数量或 1)结尾退货柜台 ..
发布时间:2021-12-30 20:49:00 其他开发

为什么 Lua 使用垃圾收集器而不是引用计数?

我自己听说并体验过:随着脚本部分的增长,Lua 的垃圾收集器会导致游戏的 FPS 严重下降. 这是我发现的与垃圾收集器相关的内容,例如,在其中创建的每个 Vector() 用户数据对象都暂时存在,直到被垃圾收集为止. 我知道 Python 使用引用计数,这就是为什么它不需要像 Luas GC 那样庞大的、消耗性能的步骤. 为什么 Lua 不使用引用计数来清除垃圾? 解决方案 ..
发布时间:2021-12-30 20:48:53 其他开发

Lua 中的 call/cc - 可能吗?

维基百科关于Continuation 的文章说: “在任何支持闭包的语言中,都可以以延续传递风格编写程序并手动实现 call/cc." 要么是真的,我需要知道怎么做,要么不是真的,该说法需要更正. 如果这是真的,请告诉我如何在 Lua 中实现 call/cc,因为我看不到. 我想如果 Lua 有 coroutine.clone 函数,我就可以手动实现 call/cc,如 此处. ..
发布时间:2021-12-30 20:48:46 其他开发

Linq 如何工作(在幕后)?

我正在考虑为 Lua 制作类似 Linq 的东西,我对 Linq 的工作原理有一个大致的了解,但想知道是否有一篇好文章或者是否有人可以解释 C# 如何使 Linq 成为可能 注意:我的意思是在幕后,比如它如何生成代码绑定等等,而不是最终用户语法. 解决方案 这个问题很难回答,因为 LINQ 有很多不同的东西.比如坚持C#,就涉及到以下几点: 查询表达式被“预处理"为“没有查询表 ..
发布时间:2021-12-30 20:48:38 其他开发

在 awesome-wm 中为特定应用程序设置窗口布局

如何配置awesome,以便它启动新应用程序时将两个窗口对齐,如下所示: ----------------|xxxxxxxxxx####||xxxxxxxxxx####||xxxxxxxxxx####||xxxxxxxxxx####|---------------- 其中“x"是例如 pidgin 中的对话窗口,而“#"是好友列表窗口. 通常我想指定右侧窗口的宽度并将其放在右侧(垂直最大 ..
发布时间:2021-12-30 20:48:30 其他开发

是否只能使用 Lua 为 Android 开发应用程序?

所以我阅读了这篇文章Mobile Orchard 并且,当我计划在 Android 开发中迈出第一步时,它让我思考:是否可以仅在 Lua 中为 Android 进行开发?我用谷歌搜索了这个话题,但没有找到明确的答案.我知道 Java 是 Android 的“基本风格",但对于我这个编码新手(初级 Python、基础 C++)来说,Lua 似乎更清晰、更友好.那么我的问题是:可以只使用 Lua 开发 ..
发布时间:2021-12-30 20:48:19 移动开发

如何在 Lua 中实现 OO?

Lua 没有对 OO 的内置支持,但它允许您自己构建它.能否请您分享一些实现面向对象的方法? 请为每个答案写一个示例.如果您有更多示例,请发布另一个答案. 解决方案 我喜欢将 OOP 视为容器(对象)内的数据封装以及可以使用这些数据完成的操作子集.它还有很多内容,但让我们假设这个简单的定义就是全部,并从中构建一些在 Lua 中的东西(对其他 OO 实现的一些熟悉对读者来说也是一个很好 ..
发布时间:2021-12-30 20:48:09 其他开发

如何检查两个 Torch 张量或矩阵是否相等?

我需要一个 Torch 命令来检查两个张量是否具有相同的内容,如果它们具有相同的内容则返回 TRUE. 例如: local tens_a = torch.Tensor({9,8,7,6});本地 tens_b = torch.Tensor({9,8,7,6});如果 (tens_a EQUIVALENCE_COMMAND tens_b) 那么 ... 结束 我应该在这个脚本中使用什么来代 ..
发布时间:2021-12-30 20:47:59 其他开发

Lua 上的 For 循环

我的任务是如何做一个 for 循环.我已经根据数字弄清楚了,但无法根据名称弄清楚.我想创建一个运行名称列表的 for 循环.以下是我到目前为止所拥有的: names = {'John', 'Joe', 'Steve'}对于名称 = 1, 3 做打印(名称)结尾 我尝试了其他一些东西,但它不起作用,终端总是只列出 1、2、3……我做错了什么? 解决方案 你的问题很简单: names = ..
发布时间:2021-12-30 20:47:53 其他开发