在使用 Lua 进行实际开发的过程中,格式化字符串的函数 string.format() 的使用频率是非常高的,这里整理一下关于这个函数的使用。参数解析string.format(formatstring, ...)formatstring 为格式化串(必须是一个字符串),其中可能包含多个转义码(例如最为常用的 %d %s 等)。... 为数量不定的参数列表,以逗号分隔,与格式
转载
2024-02-26 08:54:40
204阅读
Lua 中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1 的内嵌,而f1的外包也一定是f2的外包。内嵌函数可以访问
转载
2024-06-11 10:49:22
74阅读
最近发现线上有个服务器某些逻辑耗时比较久,问了下同事,他告诉我是因为lua的pairs函数很慢导致的。“啊!不至于吧,这数据量才多少”我一脸诧异,记忆中Lua不至于慢到这种程度,遍历个几十万的table速度还是很快的,而我们线上的这个table数据量才几万。他把线上的数据导了出来,做了一个测试,发现仅仅遍历一个5万多table,Lua确实花了将近3秒多的时间。整个程序非常简单,大概就是local
转载
2024-04-01 06:19:18
86阅读
依赖注入是什么?百度百科有云:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象
一、lua数据结构及内存占用分析1.基础数据结构lua的基本数据表示是type+union的方式,根据不同类型映射到union的不同结构上面,统一的表示结构lua_TValue:typedef union Value {
GCObject *gc; /* collectable objects */
void *p; /* light userdata */
int b
转载
2024-05-09 15:24:11
68阅读
下载地址。版本为:March, 2022, Version 2.1副标题:A fully autonomous, mission-critical Oracle database service that runs all workloads and reduces operational costs. 一种完全自主的任务关键型 Oracle 数据库服务,可运行所有工作负载并降低运营成本。用途声明
转载
2024-10-25 20:37:35
29阅读
一、业务场景一个行业网盘产品,用户分为主账号和子账户,多个子账户都可以操作公司主账号下的网盘,在多个子账户操作文件结构的时候,存在并发问题,如果简单的串行处理又明显影响用户体验举例:上传下载的时候肯定需要多线程上传文件,你串行化了怎么办。两个人同时上传文件 你也不能串行化。二、逻辑锁的设计举例:同一个文件夹 支持并发写入同一个文件夹 支持并发删除三、技术选型3.1 redis由于本身的并发并不高,
转载
2023-07-08 13:13:44
142阅读
一、字典 字典同样是一个序列,不过字典的元素是由 key(键,可理解为关键字或名称)与 values (值)组成。就好像我们查字典,一个拼音对应着与之关联的一个或多个汉字,拼音就 key,而对应的 汉字就是 values。其中每一个元素都是“key:values”的形式,并且每个元素间 以逗号分隔。 说明:这种能够通过名称引用值的数据类型称做映射(Mapping),字典是 Python 中唯
转载
2024-10-13 09:47:33
73阅读
基于cocos2dx 2.2.2版本号。这几天使用了cocostudio实现了,动画。骨骼动画。UI编辑。粒子效果,尽管有些不足,但已经算是很好了。今天尝试用lua。这个很easy。创建的时候。设置语言为lua。那就能够创建luaproject。
在cocos2d-x-2.2.2\tools\project-creator下执行:
python cr
Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模式就显
转载
2024-06-18 13:29:31
69阅读
一、Lua table(表)table 是 Lua 的一种数据结构,能容纳任何数据类型,如:数字、字典等。Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。Lua table 是不固定大小的,你可以根据自己需要进行扩容。Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。例如string.format表示使
转载
2024-02-26 13:36:53
120阅读
上一篇文章Unity XLua学习笔记(二):C#调用Lua 创建一个Lua脚本 Lua脚本LuaCallCSharp.lua脚本内容:local obj1=CS.UnityEngine.GameObject()
local obj2=CS.UnityEngine.GameObject("测试游戏对象")Main.lua脚本内容:require("LuaCallCSharp")在Unity中用C#
转载
2024-05-01 14:30:12
279阅读
针对“lua遍历redis map”的问题,我们将逐步进行详细记录,涵盖环境配置、编译过程、参数调优、定制开发、性能对比及错误集锦等方面。这将是一个全面的博文,让我们开始吧。
在使用 Lua 脚本与 Redis 数据库交互时,遍历 Redis 存储的 map 类型数据(即 Hash 表)的能力是至关重要的。本博文将帮助你轻松掌握如何在 Lua 中遍历 Redis map,涵盖必要的环境配置和代码
## Redis Lua 遍历 Map
在使用 Redis 进行数据存储时,经常会遇到需要遍历 Map 类型的数据结构。Redis 提供了一种方便的方法来实现这个功能,那就是使用 Lua 脚本。在本文中,我们将学习如何使用 Lua 脚本来遍历 Redis 中的 Map,并提供了代码示例供参考。
### Lua 脚本简介
Lua 是一种轻量级的脚本语言,被广泛应用于嵌入式系统和游戏开发中。Re
原创
2024-01-09 10:27:18
309阅读
简介从Lua5.1版本开始,就对模块/包添加了新的支持,可是使用require函数和package函数来加载模块,使用table模拟module来定义模块。 函数require用于加载模块,module用于创建模块。传统模式下的模块机制module1.什么是module对开发来说,使用module可以有效分隔代码,实现代码共享,便于代码管理。 对于用户来说,一个module相当于一个Xnix中
转载
2024-03-24 10:42:26
44阅读
引擎核心层同时支持同步阻塞和异步回调的api设计方案,让异步io等接口更加简单易用。调用同步和异步api时引擎核心层将会自动挂起正在执行的lua函数(coroutine),直接放弃占用的cpu资源;服务创建以指定lua文件为入口脚本文件,脚本直接运行在新服务的coroutine环境中,支持在入口脚本当中直接调用同步和异步api接口,支持无限循环调用同步api接口;可以创建海量独立的lua服务(co
转载
2024-06-26 15:13:55
47阅读
1.语法约定 Lua语句用分号结尾,不过如果不写分号,Lua也会自己判断如何区分每条语句 如: a=1 b=a*2 --这样写没有问题,但不太好看。 建议一行里有多个语句时用分号隔开
转载
2024-02-28 20:05:47
135阅读
Lua中没有类的概念,有的只有table表,而面向对象的实现只不过是将表与父类的表连在一起,没有某个变量的时候就去父类查找。cocos2dx-lua中有一个class函数实现了类的继承,包括了单继承和多重继承。function class(classname, ...) -- 参数一:要创建的类名称,参数二:父类-可选参数,可以是table,function,userdata等
l
转载
2024-02-26 08:57:06
48阅读
(一) 首要概念要理清:1. 在lua中,函数是一种"第一类值",他们具有特定的词法域."第一类值"表示在lua中函数与其他传统类型的值(例如数字和字符串)具有相同的权利.2. 函数可以存储到变量中(无论全局变量还是局部变量)或table中,可以作为实参传递给其他函数,还是作为其他函数的返回值;3. "词法域"是指:一个函数可以嵌套在另一个函数中,内部的函数可以访问外部函数中的变量;一个语言如果支
转载
2024-06-20 08:49:46
44阅读
(1)lua 和 C++之间的交互的基本知识: lua 和 C++ 之间的数据交互通过堆栈进行,栈中的数据通过索引值进行定位,(栈就像是一个容器一样,放进去的东西都要有标号)其中栈顶是-1,栈底是1,也就是第 1 个入栈的在栈底;也可以这么说:正数表示相对于栈底的位置(位移),负数表示相对于栈顶的位置(位移);(2)计算和清空栈
转载
2023-09-21 09:27:31
120阅读