Lua是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的
1.进入lua官网http://www.lua.org/ 2.点击download 3.点击get a binary 4.点击[Lua - joedf's Builds] 5.选择适合自己的版
有没有办法在Lua文件中调用require,并让模块设置调用它的文件的环境?例如,如果我有一个DSL(特定于域的语言)来定义表中定义的函数Root和Sequence,那么我可以在模块中使用类似setfenv(1,dslEnv)的东西来访问那些像全局变量这样的函数吗? 我想到的目标是使用这个行为树DSL,使我的定义文件看起来像这样(或尽可能接近它): require "behaviortrees"
local s = "http://example.com/image.jpg" print(string.match(s, "/(.-)%.jpg")) 这给了我 --> /example.com/image 但是我想得到 --> image 由于正则表达式引擎从左到右处理一个字符串,你的模式找到第一个/,然后.-匹配任何字符(.)尽可能少(.)直到第一个字面. (与%匹配)后跟jpg子串. 你
我一直在挖掘Lua的源代码,包括他们网站的C源代码和 Windows上的Lua的lua文件.我找到了一些奇怪的东西,我找不到任何关于他们为什么选择这样做的信息. 字符串库中有一些允许OOP调用的方法,方法是将方法附加到字符串,如下所示: string.format(s, e1, e2, ...) s:format(e1, e2, ...) 所以我挖掘了模块表的源代码,发现像table.remove
根据GTK API参考,GtkAboutDialog的 “license-type”属性仅出现在GTK> = 3.0中.为了兼容性,我的代码目前在设置“license-type”属性之前检查GTK版本: -- This is Lua code binding to GTK via lgi local dialog = Gtk.AboutDialog { title = "About Me"
我正在通过这个 video tutorial学习lua,它有这段代码: co = coroutine.create(function() for i=1,5 do print(coroutine.yield(i)) end end) print(coroutine.resume(co,1,2)) print(coroutine.resume(co,3,4)) pr
我尝试制作一个计算圆圈之间交点的函数:一个圆圈对着圆圈列表. 对于每种情况,有0,1或2个交叉点. 我希望函数返回nil,nil表示0点,z0,nil表示1和z1,z2表示2点.我想通过一个循环逐步收集表中的结果对,并在最后解压缩它,但是表没有采用零值. 我暂时试过这个.我怎样才能实现我的目标? function InterSection_Cercles (Ca , ... ) loca
我用luarocks安装了’image’包 $luarocks install image 一切都安装没有任何错误.每当我尝试使用它时,都会返回以下错误: > th> require('image') > > /home/khurram/torch/install/share/lua/5.1/trepl/init.lua:384: > /home/khurram/torch/install/sh
我写lua解剖器时遇到字符串问题.我的数据包看起来像: 0000 00 00 00 69 00 10 00 01 00 00 00 ed 00 00 00 0c 0010 bf a6 5f ... 调试时,tvb看起来一样 偏移量0x10处的字节是0xbf,但在我的解剖器函数中,我得到了不同的结果,这里是我的代码: local str = buf(0x10):string() local
在花了一周学习Lua之后,遇到这种奇怪的情况我感到有点震惊,因为我之前曾想过“require”命令就像C/C++中的#include一样(即,它由预处理器复制/粘贴) ). 显然情况并非如此. 这就是困扰我的原因: -- a.lua this_is_global = "I'm a global var!!" require "b" print(global_in_b) -- error??!! g
我试图制作一个lua脚本,它接受逗号分隔的数字输入,并将它们变成字母,所以1 =等等,但我还没有找到一种方法来做到这一点,因为字符串libray输出a = 97,所以我不知道现在去哪里,有什么帮助吗? 您可以使用 string.byte和 string.char功能: string.char(97) == "a" string.byte("a") == 97 如果你想从“a”(97)开始,那么只需
当前的Lua编译器是否足够智能以优化用于清晰的局部变量? local top = x - y local bottom = x + y someCall(top, bottom) 或者手动内联的速度更快? someCall(x - y, x + y) 由于Lua经常将源代码编译成字节代码,因此它被设计为快速单通道编译器.它确实做了一些常量折叠,但除此之外没有很多优化.您通常可以通过执行luac -
我有以下unpack()函数: function unpack(t, i) i = i or 1 if t[i] then return t[i], unpack(t, i + 1) end end 我现在在以下测试代码中使用它: t = {"one", "two", "three"} print (unpack(t)) prin
我当前的配置文件是用于ipad视网膜,它工作得很好,但是当我选择屏幕较小的设备时,图像会变形. 这是我目前的config.lua application = { content = { width = 768,--aspectRatio > 1.5 and 800 or math.ceil( 1200 / aspectRatio ), height = 10
使用Lua模式匹配我希望能够解析一个字符串并找到以下URL http://www.test.com/ www.test.com/ test.com/ test-test.test.com/ 斜杠可以是可选的,但如果包含它,它必须能够找到嵌套文件夹,例如: test.com/test/ 这样我可以使用单个模式匹配来查找URL.问题是我使用的所有例子都不起作用或导致魔兽世界永远不会让加载屏幕出现我自己
我在iOS上使用Lua并且我在使用io.open(“filename.txt”,“w”)打开文件时遇到问题,我知道我收到了nil,但有没有办法检测到失败的原因并试图解决它?类似于错误的C? 从 documentation: io.open (filename [, mode]) This function opens a file, in the mode specified in the str
我使用Lua Glider 2 Corona SDK最新版本开发应用程序.如何找到它使用的Lua版本?谢谢. 您可以使用全局变量 _VERSION来查找. print( _G._VERSION )
我有以下函数只返回其字符串参数: function N_(s) return s end 您可以从gettext识别此功能名称.它仅为.pot提取器的好处标记. 在C或Lua中实现N_()会更有效吗? 你能给我一个经验法则吗? 另一个问题: 假设我的函数有点复杂: function Z_(s) return dict[s] or s end 在C或Lua中实现Z_()会更有效吗? (我将从
与此类似,但需要哈希解决方案而不是普通键: How to atomically delete keys matching a pattern using Redis 我有一堆哈希,前缀如下:“prefix:” 在每个散列下都有一堆键,如:“cc_XX”,其中“XX”是2个字母的代码. 我需要一些循环遍历所有redis哈希值,并删除每个cc_XX子键的一些方法,并且我正在寻找一种cli / lua方
正如标题所说: Lua中是否有等效的scanf功能? 我的意思是,我希望有这样的语法: word_typed = lua_scanf() 一旦我写了一个字符串(让我们说“123是完整的数字”),我就有了字符串“123 is perfect number”. 提前谢谢了 附:如果需要,您可以根据需要提供LUA C API解决方案! :P 以下脚本(使用Lua 5.1.4测试,应该在5.2中工作)执行
我正在构建一组公共库,用于Lua解释器的嵌入式实例(目标受众是特定产品的用户).假设我没有权限更改Lua可执行文件的功能,并且只有基本的标准Lua库(数学,字符串,…,异常是没有io). 在纯Lua库中处理运行时错误的惯用方法是什么? 我已经考虑过返回nil,但这并不表示出现了什么问题,特别是如果错误发生在某个深层嵌套的地方.我的下一个想法是返回两个值,nil和错误代码或描述.我还考虑了一组类似于
这两种声明在性能方面有什么区别吗? local object = newObject() function object:method(params) end local object:method = function(params) end 是,有一点不同.第二个不编译.所以它的性能为零;) “方法声明”只是Lua中的语法糖.这些是相同的: function object.func(sel
假设我已经在C/C++代码中分配了一个C风格的双打动态数组,因此我有: double *x; //Pointing to beginning of allocated memory int size; //Size of array 是否有可能编写lua代码(甚至是用于lua的C/C++代码),以便lua的C/C++嵌入式实例能够在数组上的“视图”元素上有效地读/写? 我只需要支持以下C操作: d