`

lua 小细节

阅读更多
这里收录了一下笔者到现在为止注意到的一些关于lua语言的东西
1.loadstring  loadstring的作用是动态加载代码的,意思它会将你loadstring("字符串") 动态编译成代码,(注意loadstring返回的一个function) ,比如
rest = loadstring("return ".."1".."==".."2")
print(rest())
此时将输出false,接下来是loadstring的中文问题,
rest = loadstring("return ".."测试".."==".."测试")
print(rest())
此时运行将会直接报错,为什么?因为lua在加载代码的时候 根本就没有将“测试”识别成字符串,而对于lua来说,没有所谓的中文变量所以lua根本就无法识别这个中文 此时将
rest = loadstring("return "..'"测试"'.."=="..'"测试"')
print(rest())
代码变成这样既可,代表要比较的值是一个中文,lua加载代码的之后就会正确识别了
2.可变参数
function c(...) end
可变参数都存储在一个默认的table arg之中,不过要注意的是 arg不仅多了需要传递的多变参数  还有一个代表此次传递的参数数目 比如
function c(...)  for i,v in pairs(arg) print(i.." "..v) end
c(1,2) 此时结果是
1 1
2 2
n 2
分享到:
评论

相关推荐

    C#与Lua交互的例程

    LuaInterface提供了方便的接口,使得开发者无需深入理解底层细节,就能轻松实现两者的交互。 在C#端,我们可以创建一个Lua实例,加载lua51.dll和LuaInterface.dll库,然后通过Lua对象的DoFile或DoString方法执行Lua...

    Lua5.1.5-lib库

    总之,Lua5.1.5-lib库是开发者快速集成Lua到项目中的理想选择,其预编译形式减少了构建过程的复杂性,使开发者能够更专注于应用的业务逻辑,而不是底层语言的实现细节。通过熟练掌握Lua的API和库,开发者可以轻松地...

    LUA学习资料(包括Programming in Lua+Lua 5.1 参考手册+LUA5.0.2解释器)

    读者可以通过查阅此手册,了解LUA 5.1的环境变量、标准库、字符串操作、文件I/O等方面的细节,以便更精确地控制程序的行为。 LUA 5.0.2解释器是用于执行LUA脚本的工具,它允许开发者在本地环境中运行和调试代码。...

    一个小巧的lua解释器实现

    本文将深入探讨一个小型的Lua解释器的实现,通过分析提供的源代码`Console1.cpp`和已编译的可执行文件`bookconsole1.exe`,我们将揭示Lua解释器的核心概念和技术细节。 首先,让我们了解一下Lua解释器的基本结构。...

    Lua教程&手册

    **正文** Lua是一种轻量级的、嵌入式的脚本语言,主要...提供的“Lua电子教程”文件应该包含更多细节,包括实例代码和解释,是学习和进阶Lua的好资源。建议读者结合此教程,逐步探索和实践,从而更好地理解和运用Lua。

    Cpp2Lua 导出c++到lua

    通过理解其工作原理和实现细节,开发者可以更好地利用这一工具,结合两种语言的优势,提高项目的开发效率和灵活性。随着技术的不断发展,我们期待`Cpp2Lua`能够实现更多高级特性,为跨语言编程带来更多的便利。

    LUA全套帮助文档,里面有LUA的例子和LUA的全部资料

    这份文档不仅适合初学者,也为经验丰富的LUA开发者提供了深入的技术细节和最佳实践。无论你是想在游戏中添加交互性,还是在服务器上编写配置脚本,这个压缩包中的资源都会成为你宝贵的参考资料。

    LUA4反编译器

    2. **准确性**:反编译过程不总是能完全恢复原始源代码,可能会丢失注释、变量名和某些编程细节。 3. **兼容性**:LUA4反编译器仅适用于LUA4字节码,不能处理LUA5.x或其他语言的代码。 4. **安全**:谨慎处理反编译...

    Lua与C交互示例

    Lua是一种轻量级的脚本...在实际项目中,如"TestCCallLua"、"TestLuaCallLib"、"TestLuaCallC"这些示例,会具体展示这些交互方式的实现细节。同时,Lua5.3版本的使用意味着我们需要遵循该版本的API和语言特性进行编程。

    Lua游戏开发实践指南

    这些工具和库为开发者提供了便捷的游戏开发环境,减少了底层细节的处理。 在游戏状态管理方面,Lua的元表和元方法概念能帮助创建复杂的数据结构和行为。例如,通过元表可以实现面向对象编程的模拟,为游戏对象提供...

    lua for vb.net

    VB.NET开发者可以通过导入这个源文件,直接在VB.NET项目中使用Lua的功能,而无需理解底层的C接口细节。通过这种方式,VB.NET程序可以创建和运行Lua脚本,读写Lua变量,调用Lua函数,甚至注册.NET函数供Lua调用,极大...

    lua-5.1.5.0

    开发者可以通过解压`lua-5.1.5`压缩包,查看源代码学习Lua的实现细节,也可以编译安装以在本地环境中运行和测试。Lua的官方文档详尽且易于理解,是学习的重要资源。 总之,`lua-5.1.5.0`是Lua语言的一个经典版本,...

    android 与 lua 相互调用

    在Android平台上,将Lua语言与Java(Android的主要开发语言)结合使用可以带来许多优势,比如快速原型...通过分析AndroLua-master和AndroLuaTest这两个项目,你可以进一步理解这一过程的细节,并在自己的项目中实践。

    lua-cjson-2.1.0 lua第三方库(已编译dll)

    这为开发者提供了便利,因为他们可以快速地在自己的项目中集成cjson库,而无需关心编译细节。 **关于Lua和JSON:** Lua是一种轻量级的脚本语言,广泛应用于游戏开发、服务器配置、嵌入式系统等领域。JSON则是一种轻...

    lua脚本执行行数和次数统计Dll

    通过加载这个Dll,你可以监控lua脚本的运行状态,获取每个文件的执行细节,包括执行的文件名、具体的行数以及该行被执行的次数。这些数据对于性能优化和调试非常有帮助,因为它们可以揭示哪些部分的代码运行最频繁,...

    lua游戏开发实践指南源码

    1. **轻量级与高效**:Lua的运行库非常小,仅约100KB左右,这使得它能够轻松集成到任何游戏引擎中,并且不会显著增加游戏的启动时间或占用过多内存资源。同时,Lua的执行效率相对较高,可以有效地支持复杂的游戏逻辑...

    c++ 调用lua函数简单案例

    在IT行业中,C++与Lua的交互是一种常见的技术实践,特别是在游戏开发、脚本系统以及扩展应用程序功能时。本文将详细讲解如何在C++中调用Lua函数,并提供一个简单的源代码案例作为参考。 首先,我们需要了解C++与Lua...

    《Lua 源码欣赏》

    首先,作者提到了Lua虚拟机(VM)的实现细节,这是Lua语言的执行引擎,负责解释和执行字节码。Lua的虚拟机设计十分精简,每个字节码指令对应虚拟机中的一个函数。Lua 5.2版本相对于Lua 5.1进行了大量修改,几乎每个...

    Lua5.1全三套:Lua Programming(中英文版)+中文手册

    英文版则保留了原汁原味的技术细节,对于提高英语阅读能力以及追踪最新技术动态也是极好的资源。书中涵盖了Lua的基础语法、数据类型、表结构、函数、模块化编程、错误处理、元编程等多个方面,是全面学习Lua的基石。...

    Lua环境+测试Demo[Lua5.2+VS20210]

    同时,可以深入研究`LuaSrc`中的源码,理解Lua的实现细节。如果需要在其他项目中使用Lua,可以将编译生成的`lua.exe`和`luac.exe`复制到相应目录,或者链接到你的项目中。 总之,这个压缩包提供了一个完整的Lua开发...

Global site tag (gtag.js) - Google Analytics