Lua 标准库 - 输入输出处理(input and output facilities)
【IT168 技术文档】I/O库提供两种不同的方式进行文件处理 1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr 2、文件句柄直接调用方式,即使用
转载
2024-08-01 18:05:28
15阅读
1. 当函数只有一个参数且该参数是字符串常量或表构造器时,括号是可选的:print "abc" 2. 函数参数的执行行为,举例:function f (a, b) print(a, b) end f () --> nil nil f(3) --> 3 nil f(3, 4) --> 3 4 f(3,
原创
2024-01-11 07:35:13
76阅读
前言 HTML 5如同一场革命,正在Web2.0后时代轰轰烈烈的进行着。 HTML 5是什么,无须我在这里赘述了。对于HTML 5的革新,按我的理解,可以总结为语义明确的标签体系、化繁为简的富媒体支持、神奇的本地数据存储技术、不需要插件的富动画(canvas)、强大的API支持。总之,HTML 5让人机交互,人网交互变得更加舒适,贴合用户。以往对富媒体应用与本存储的支持乏力也不再是浏览器的切
安装好Lua之后就可以进行Lua脚本的编程学习了。1.终端执行lua test.lua就是执行test.lua脚本;2.终端执行lua -i test.lua 执行问test.lua之后就会进入交互模式;3.在交互模式中运行dofile(”test.lua“)就可以运行test.lua.一种常用的编辑模式就是左边开一个调试窗口,启用lua的交互模式用dofile运行程序,另一边开一个编
转载
2024-05-01 15:08:26
198阅读
脚本语言? 由于业务需要,手游开发逻辑由脚本语言lua实现,所以从此开始lua学习之路。接触lua之前对脚本语言的认识停留在下面的几个关键字: bat批处理,html貌似是脚本语言?解释型语言? 认识太浅薄了,先来了解下脚本语言。 首先知之为知之,不知百度(维基)之。wiki的解说如下: 脚本语言(Script lan
转载
2024-03-25 15:09:50
100阅读
今天学习第四章 基本语法
4. Statement
1)赋值
可以多个赋值,如
a, b = 1, 2
a,b c = 1,2 (c 赋值为nil)
a,b
原创
2012-06-05 10:58:07
495阅读
Nginx又是业务直接和外部交流的接入点,对二次开发和动态变化又有着强烈的以及一些定制化的需求,因此出现了LUA这种嵌入式的脚本语言,它能揉和以及处理各种不同的Nginx上游输出(proxy、log等)。
原创
精选
2023-01-19 13:51:48
353阅读
1.卫星图与DEM高度图坐标一致处理坐标系的调整 先把工程默认坐标调整下,建议调整到3857,在菜单的设置(s)里找到,修改掉如何使用临时图层,对其他数据层进行裁切 (1)创建临时图层 (2)在临时图层里,选择铅笔工具,绘制一个大概的矩形,右键出现图形 (3)变成规则的正方形 (4)裁剪合并DEM图层 (1)选择合并 (2)输入图层 (3)选择图层 (4)完成合并合并完成后,一些接缝问题都已经解决
转载
2024-09-20 11:18:50
138阅读
游戏更新是非常重要的,在研究了运用lua对安卓游戏进行动态更新后,采用了一种比较笨的更新方法。在游戏安装包里加上一个本地资源管理的配置文件,我直接写工具导出.lua格式的文件,里面存放着在本地用到的资源文件名字以及更新的地址,还有md5值。在游戏每次启动的时候都要下载个这种配置脚本,然后将服务器端资源的MD5和本地的比较,进行下载更新。获得文件MD5的方法我用的是网上找的下面的一段代码
转载
2024-04-12 05:44:08
300阅读
一、环境搭建初学lua,首先要做的就是搭建环境首先下载lua,解压。添加环境变量:随后安装ide,我用的vscode,官网下载vscode下载之后安装,lua debug新建lua文件,ctrl+N(或者右上角新建)然后ctrl+s保存文件,开始编译。二、基本语法基础数据类型: 基础数据类型
nil表示无效,在表达式中等于false,可以将一个变量赋值为nil来删掉他booleantrue
转载
2024-02-23 16:01:27
84阅读
目录变量基本数据类型变量的作用域字符串操作运算符条件分支语句循环函数表实现数组迭代器遍历ipairs 遍历pairs 遍历实现字典实现类公共操作多脚本执行协同程序创建协程运行协程协程挂起协程状态元表Lua 面对对象封装继承多态Lua自带库时间库数学库路径Lua垃圾回收 变量Lua 中的一个变量可以随便赋值,自动识别类型基本数据类型--nil
a = nil
--number
a = 1
a =
转载
2024-04-04 09:13:33
128阅读
一、介绍红点系统是游戏和各种软件中常用的系统,本文的目的是使用lua实现一个基于树结构的简单红点系统;代码如下local RedPointManager = {}
local RedPointCPTb = {
RP_UI2_Btn1 = 'RP_UI1_Btn0',
}
function RedPointManager:Init()
self:InitRedPropertyTb()
e
转载
2024-07-29 23:56:29
79阅读
原理源码中加锁lua代码if (redis.call('exists', KEYS[1]) == 0) then
redis.call('hset', KEYS[1], ARGV[2], 1);
redis.call('pexpire', KEYS[1], ARGV[1]);
return nil;
end;
if (re
转载
2023-11-25 13:47:12
107阅读
虽然lua中字符串拼接“string.format”相对于“..”消耗较大,但有时为了代码的可读性,项目中还是经常用到“string.format”。至于这两个用法的性能看源码也很容易看出来,这里就简单说一下,前者其实调用C函数str_format来实现拼接的,而后者只是一个操作符,通过memcpy来拼接,并且多个“..”的操作其实也只执行了一次concat。常用占位符%c - 接受一个数字, 并
使用流程 1. 函数的使用 以下程序演示了如何在Lua中使用函数, 及局部变量 例e02.lua -- functions function pythagorean(a, b) local c2 = a^2 + b^2 return sqrt(c2) end print(pythagorean(3,4
转载
2024-01-15 21:26:15
114阅读
Class={};
Class.classList={}; --保存所有已经定义过的类
--类的类型: 类和接口, 接口也是一种类
Class.TYPE_CLASS="Class";
Class.TYPE_INTERFACE="Interface";
function Class.isExist(className)
return Class.classList[className]
转载
2023-11-28 13:26:47
59阅读
一、说明这里不对lua语言本身及其编译器运行环境等做介绍,以下所有介绍前提对lua相关有所了解。二、ngx_lua介绍原理ngx_lua将Lua嵌入Nginx,可以让Nginx执行Lua脚本,并且高并发、非阻塞的处理各种请求。Lua内建协程,这样就可以很好的将异步回调转换成顺序调用的形式。ngx_lua在Lua中进行的IO操作都会委托给Nginx的事件模型,从而实现非阻塞调用。开发者可以采用串行的
转载
2024-06-28 17:21:42
111阅读
Lua 中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1 的内嵌,而f1的外包也一定是f2的外包。内嵌函数可以访问
转载
2024-06-11 10:49:22
77阅读
在使用 Lua 进行实际开发的过程中,格式化字符串的函数 string.format() 的使用频率是非常高的,这里整理一下关于这个函数的使用。参数解析string.format(formatstring, ...)formatstring 为格式化串(必须是一个字符串),其中可能包含多个转义码(例如最为常用的 %d %s 等)。... 为数量不定的参数列表,以逗号分隔,与格式
转载
2024-02-26 08:54:40
204阅读
让lua面向对象lua本身不支持面向对象的特性,但是由于lua是基于原型(prototype)的语言,要实现面向对象的特性也是有一定的方法的,实现方式有很多种, 总结了一下我最近对使用lua实现面向对象的特性,主要可以分为以下两种不同的方式来实现: 1、使用metatable的__index域实现,实现的时候需要利用的lua语言的一些特性才可以实现,主要有: a、将table b作为table
转载
2024-03-29 22:23:10
78阅读