首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Lua:table与object

    读取 100 行的时候(仅仅 2KB),Lua 已经移动 了 5MB 的内存, Lua的字符串和Java的字符串差不多,都是不可变的,不可变的意思是什么呢?..."s"); --消耗时间:0.726s --concat消耗时间:0.001s 元表与元方法 算数运算符元方法 __add重载+,相当于两个继承于同一个父类的子类,可以通过 s1+s2,调用父类的__.../lib/pack1_1.lua", goo = "/usr/local/lua/lib/pack1_1.lua", foo1 = "/usr/local/lua/lib/pack1_2.lua...记住,当一个表的 metatable 存在一个__index 函数时,如果 Lua 调用一个原始表中不存在的函数,Lua 将调用这个__index 指定的函数。...所以,这种类和父类之间 的关系与传统的类与实例的关系是有区别的。特别是,一个类不能同时是其实例的 metatable 又是自己的 metatable。

    55430

    【Lua菜鸟①】初识Lua

    简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。...可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。...独立应用脚本 Web 应用脚本 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench 安全系统,如入侵检测系统 以下使用window环境,适合我这样的菜鸟: 第一个Lua程序,...环境配置 大家可以在Lua的官网下载window系统所需要的编译器,然后配置环境即可 将lua命令加入到path中即可,这样就可以利用VS Code直接运行 ? 然后就是给世界打招呼了 ?...菜鸟终于可以写Lua了,明天继续!

    3.4K90

    Lua语言_lua基本语法

    定义一个变量都是全局变量,如果要用局部变量 需要声明为local.例如: -- 全局变量赋值 a=1 -- 局部变量赋值 local b=2 如果变量没有初始化:则 它的值为nil 这和java中的null不同...语法: if(布尔表达式) then --[ 在布尔表达式为 true 时执行的语句 --] end 实例: (2)if…else语句 Lua if 语句可以与 else 语句搭配使用, 在 if...编程语言中 repeat…until 循环语句不同于 for 和 while循环,for 和 while 循环的条件语句在当前循环执行开始时判断,而 repeat…until 循环的条件语句在当前循环结束后判断...(与java语法中do…while类似) 语法: repeat statements until( condition ) 案例: 4.6 函数 Lua中也可以定义函数,类似于java中的方法。...的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。

    4K20

    Lua模块的加载与内存释放

    因为好奇,所以要来了最大的一个配置文件(4.5M,去除空格与换行后的大小),进行测试。最终发现,内存其实是可以被释放的,不过需要注意以下的规则。...同时,为了证明luac 与 luajit 表现一致,我同时也使用了 luajit 进行了测试。...进入下载好的 luajit 解压目录 LuaJIT-2.1.0-beta2/src  运行 msvcbuild.bat 重点在模块的编写,模块编写的方法导致了释放内存的不同。...我拿到的 lua 文件是这样定义的,原本是一个json,将其转为lua的,将所有数据赋值给一个变量(require 之后多了一个全局变量),这样 package.loaded[modulename] 为...一个约4.5M的 lua 文件,被 require 进内存后,lua 所占用的内存大小变为 20M。为什么会这么大,有待进一步从源码中寻找答案。

    3.4K30

    Lua

    Lua:是一种脚本语言,用于扩展应用程序的功能。Lua 5.4.7:是Lua的一个特定版本,这里提到的是5.4.7版本。怎么用?下载源码:首先,你需要从Lua的官方网站下载Lua的源码包。...bashcurl -L -R -O https://www.lua.org/ftp/lua-5.4.7.tar.gz这条命令会将Lua 5.4.7的源码包下载到当前目录。...bashcd lua-5.4.7 make all testmake all会编译Lua的所有组件,make test会运行测试以确保编译没有问题。...安装Lua:编译和测试无误后,使用make install命令安装Lua。bashmake install这会将Lua安装到系统的默认位置,通常是/usr/local/bin。...代码示例安装完成后,你可以开始编写Lua脚本。以下是一个简单的Lua脚本示例:lua-- 文件名:hello.luaprint("Hello, World!")

    53110

    lua

    游戏里面用lua来热更新的 redis的默认方法也是lua(我觉得是因为和nosql很搭) 变量 全局变量直接使用的时候为nil 数组下标从0开始(不推荐)a = {[0]="123","32",..."23"}; 支持多返回值,多个同时赋值,只需要一个时候使用哑元_ 尽量避免一个下划线开头+大写字母 ---[[可以注销掉块注释 type函数永远返回一个字符串 lua将false和nil视为假,将0和空字符串视为真...LUA对于小于1014的数字用双精度没有四舍五入的浮点误差,合法的数字写法:4,0.4,4.58e-3,0.3e12,5e+20 Lua的字符串是只读的,\表达数值转义,[[ ]],[===...(Lua4.0 以前在度数下工作。)你可以使用 deg 和 rad 函数在度和弧度之间转换。...->OnInitOK()->CtrlManager.Init() Define.Lua:"xxx=xxxCtrl" GameManager.Lua:ctrl:Awake() LayerPanel

    2.6K20

    Redis 事务与 Redis Lua 脚本的编写

    不满足原子性 与关系型数据库的事务不同,redis 事务是不满足原子性的,一个事务执行过程中,其他事务或 client 是可以对相应的 key 进行修改的。...事务中的每条命令都会与 redis 服务器进行网络交互 edis事务开启之后,每执行一个操作返回的都是queued,这里就涉及到客户端与服务器端的多次交互。...redis 2.6版本之后也内嵌了一个 Lua 解释器,可以用于一些简单的事务与逻辑运算。 7. Redis 内嵌 Lua 的优势 7.1....表示传入参数数量,key表示脚本要访问的key,arg为传入参数 EVALSHA sha1 通过SHA1序列调用lua_scripts字典预存的脚本 SCRIPT LOAD script 与EVAL相同...SCRIPT LOAD 与 EVALSHA 命令 对于不立即执行的 Lua 脚本,或需要重用的 Lua 脚本,可以通过 SCRIPT LOAD 提前载入 Lua 脚本,这个命令会立即返回对应的 SHA1

    1.1K10

    lua实例教程_lua教程网

    目录 Lua配置、安装、与运行 Lua编译与调试环境搭建 Lua基本语法 1.交互式编程 2.脚本式编程 Lua中的数据类型 1.数据类型展示 2.注意事项 Lua中的变量与函数 全局变量...局部变量 非局部变量(先看闭包) 变量值的交换 Lua中的函数 函数原型 函数中的常量与局部变量 子函数原型 upvalue (实际代指变量而非值) C闭包 Lua闭包 关于闭包的理解(词法定界)...Lua处理从C#获得的数组、字典、结构体等 方式1迭代器遍历以及转化为table后循环 方式2类似C#的调用以及相关注意事项 …待续(持续更新中) 参考与引用 Lua配置、安装、与运行 1.进入Lua...( 推荐选择C盘 ) 6.将此路径加入到环境变量中 7.cmd 中输入lua 查看安装是否成功 Lua编译与调试环境搭建 1.下载sublime 2.点击 菜单栏→→ 工具 →→ 编译系统 →→...中的变量与函数 全局变量 局部变量 非局部变量(先看闭包) 变量值的交换 Lua中的函数 函数原型 每个Lua函数都有一个原型,这是一个由GC管理的对象,它挂靠在函数上,为函数提供必要的信息,比如这个函数的操作码

    2.5K20
    领券