问题标签 [lua]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scripting - 根据定义,脚本是“开源”的吗?
前几天,我为一个朋友的魔兽世界插件调整了一个脚本。他对您可以编辑插件感到惊讶——它们是“开源的”。(《魔兽世界》插件是用 Lua 脚本语言编写的)我发现自己想说“当然可以——所有脚本都是‘开源’的。”
真的吗?当然,有些脚本可以编译成字节码,但不是几乎所有的脚本都被解释了吗?也就是说,根据定义,解释脚本的设备不需要“源”吗?
c++ - 如何在 C++ 中创建 Lua 表,并将其传递给 Lua 函数?
在 C++ 中,我有一个map<string, string>
, 包含未知数量的条目。如何将它传递给 Lua 函数,以便 Lua 函数可以将数据用作表?
random - 为什么在 lua 的某些平台上第一个随机数总是相同的?
考虑以下 lua 代码片段:
在 Linux 机器上,结果如预期的那样是随机数。但似乎至少在 Mac OS X 上,改变种子后的第一个随机数总是一样的!
我想这与 Lua 依赖 C rand() 函数生成随机数有关,但有人解释一下吗?
编辑:这是Linux机器上上述代码输出的摘录(即输出如预期):
在 OS X 机器上,“Seeding with ...”之后的第一个数字始终是 66。
syntax - Lua - if 语句中的语法错误
只是试图执行一个小的 Lua 脚本,但不幸的是我做错了。我没有更多的想法可能是什么错误。
口译员说:
我认为这不是一件大事,也许很清楚出了什么问题。但不知何故,我现在看不到它。
time - Lua - 当前时间(以毫秒为单位)
有没有一种常用的方法可以以毫秒或毫秒为单位获取当前时间?
有os.time()
,但它只提供完整的秒数。
lua - KDevelop 中的 Lua 语法高亮显示
有谁知道如何修复 Kdevelop 中的 Lua 语法突出显示。用于获取表长度的# 符号导致该行的其余部分看起来好像被注释掉了。
t[ #t+1] = "富"
file - 如何在Lua中只读取文本文件的最后一行?
我有一个程序可以生成最大为 20 米的文本字段。有时我只关心文件中的最后一行,有没有办法只读取该行而不浪费内存读取文件的其余部分?
ruby-on-rails - Lua on Rails?
有没有像 Rails for Lua 这样的库?
function - 使用 Lua 访问函数的主体
我将回到这里的基础知识,但在 Lua 中,您可以像这样定义一个表:
打印表引用本身会带回一个指向它的指针。要访问它的元素,您需要指定一个索引(即,就像您使用数组一样)
现在函数是一个不同的故事。您可以像这样定义和打印函数:
有没有办法访问已定义函数的主体。我正在尝试组合一个小型代码可视化器,并希望使用特殊函数/变量“播种”给定函数,以允许可视化器将自身“挂钩”到代码中,我需要能够重新定义该函数变量或字符串。
visual-c++ - 编译过程
谁能解释编译是如何工作的?
我似乎无法弄清楚编译是如何工作的..
更具体地说,这是一个示例。我正在尝试在 MSVC++ 6 中编写一些代码来加载 Lua 状态。
我已经:
- 设置库的附加目录并将文件包含到正确的目录
- 使用了 extern "C" (因为 Lua 只是 C 或者我听说的)
包含正确的头文件
但是我仍然在 MSVC++6 中遇到一些关于未解析外部符号的错误(对于我使用的 Lua 函数)。
尽管我很想知道如何解决这个问题并继续前进,但我认为如果我了解所涉及的底层过程对我来说会更好,那么任何人都可以为此写一个很好的解释吗?我想知道的是过程..它可能看起来像这样:
第1步:
- 输入:源代码
- 过程:解析(也许在这里添加更多细节)
- 输出:这里输出什么..
第2步:
- 输入:步骤 1 输出的任何内容,以及可能需要的任何其他内容(库?DLL?.so?.lib?)
- 过程:对输入所做的任何事情
- 输出:输出什么
等等..
谢谢..
也许这将解释什么是符号,究竟是什么“链接”,什么是“对象”代码或其他什么......
谢谢。。对不起,我是个菜鸟。。
PS这不一定是特定语言的..但是请随意用您最熟悉的语言表达它.. :)
编辑:所以无论如何,我能够解决错误,事实证明我必须手动将 .lib 文件添加到项目中;简单地在 IDE 设置或项目设置中指定库目录(.lib 所在的位置)不起作用..
但是,下面的答案在一定程度上帮助我更好地理解了这个过程。非常感谢!.. 如果有人还想写一个详尽的指南,请做.. :)
编辑:仅供参考,我发现一位作者(Mike Diehl)的两篇文章很好地解释了这一点.. :) 检查编译过程:第 1 部分 检查编译过程:第 2 部分