Lua提供以下类型的循环来处理循环需求。 编号 循环类型 描述 1 while循环 在给定条件为真时重复语句或语句组,它在执行循环体之前测试条件。 2 for循环 多次执行一系列语句,并缩写管理循环变量的代码。 3 repeat…unti循环 重复语句组的操作,直到满足until条件。 4 嵌套循环 ...
分类:
其他好文 时间:
2019-06-02 14:09:37
阅读次数:
119
Lua格式化输出 我们知道lua中可以用".."连接字符串,可以起到一部分格式化字符串的作用,但是如果字符串较长或者有特殊的格式转换操作(如十六进制转换),用".."就会很繁琐且可读性差。用string.format()就是一个很好的解决方案。 函数定义string.format() 第一个参数为字 ...
分类:
其他好文 时间:
2019-06-02 14:09:17
阅读次数:
467
Lua 是动态(弱)类型的语言,它有一下几种数据结构: nil(空) nil 类型表示一种没有任何有效值,它只有一个值 -- nil,例如打印一个没有赋值的变量,便会输出一个 nil 值: print(type(a)) 对于全局变量和 table,nil 还有一个“删除”作用,给全局变量或者 tab ...
分类:
其他好文 时间:
2019-06-02 14:08:40
阅读次数:
123
建立TCP连接 另起线程接收服务端消息 根据自己的消息设计规则进行消息的解码 解码出协议号 解码出参数 参数解码成具体的参数类 服务端主动推送的需要先注册方法 在保存表的协议字典中找出对应的表 调用回调方法 发送消息给服务端 将发送消息的lua表保存起来 组装消息发送给服务端 本底层为了扩展方便,使 ...
分类:
编程语言 时间:
2019-05-31 18:09:52
阅读次数:
138
lua在openresty中获取请求的请求头 local head_table = ngx.req.get_headers() 由于table类型,无法直接使用ngx.say()显示,需要转换为cjson local cjson = require "cjson" local tab_list = ...
分类:
其他好文 时间:
2019-05-29 13:07:47
阅读次数:
105
1.简单模式: -- 以只读方式打开文件 file = io.open("test.lua", "r") -- 设置默认输入文件为 test.lua io.input(file) -- 输出文件第一行 print(io.read()) -- 关闭打开的文件 io.close(file) -- 以附加... ...
分类:
其他好文 时间:
2019-05-28 12:45:40
阅读次数:
88
什么是协同(coroutine)? 协程是针对函数来说的,本来是一个普通的函数,我们只是让这个函数有协程的功能,可以理解为一个协程函数 Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。 协同是非常 ...
分类:
其他好文 时间:
2019-05-28 12:44:49
阅读次数:
109
openrestry后端服务upstream健康检查配置http{#在http模块中增加以下配置lua_package_path"/usr/local/openresty/lualib/resty/?.lua;/usr/local/openresty/lualib/resty/upstream/?.lua;;";lua_shared_dicthealthcheck1m;lua_socket_log
分类:
其他好文 时间:
2019-05-24 20:52:57
阅读次数:
150
1. OpenResty 安装及使用 OpenResty 是一个通过 Lua 扩展 Nginx 实现的可伸缩的 Web 平台,内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 安装: 1. 下载安 ...
分类:
其他好文 时间:
2019-05-23 00:19:44
阅读次数:
657