openresty + lua
lua语法总结:
1. 导入模块(用require来加载,模块是一个类型为table的全局变量)
导入写好的包,举例如下:

2. lua 数据类型(有8种:nil、boolean、number、string、userdata、function、thread、table)
① 布尔类型,可选值 true/false;Lua 中 nil 和 false 为“假”,其它所有值均为“真”。比如 0 和空字符串就是“真”
② Number 类型, 用于表示实数,和 C/C++ 里面的 double 类型很类似。可以使用数学函数 math.floor(向下取整)和 math.ceil(向上取整)进行取整操作。
③ 字符串,3种表达:单引号,双引号,[[ ]]
字符串连接三法: 法一:可以使用操作符“..”(两个点);
法二:也可以使用 string 库函数 string.format 连接字符串。
法三: table 和 table.concat() 来进行很多字符串的拼接。

④ table类型, local tab = { 索引=值,
索引=值,
索引=值 }
栗子: local yu = { height = 183, --print(yu.height) 或 print(yu['height']) ~183
home = 'beijing', --print(yu.home) 或 print(yu['home']) ~'beijing'
12580, --print(yu[1]) ~12580
1024, --print(yu[2]) ~1024
[10] = 365, --print(yu[10]) ~365
['wife'] = 'idontknow' --print(['city']) ~'idon'tknow'
}
3. lua的table类型(关联型数组,你可以用任意类型的值来作数组的索引)
table也是解决模块(module)、包(package)和对象(Object)的。
4. pairs() 和 ipairs()

5. 符号( .. . :)
.. 用于字符串拼接

. 用于调用方法和属性
:用于调用方法和属性,与.不同的是不需要self参数

openresty + lua的更多相关文章
- openresty + lua 1、openresty 连接 mysql,实现 crud
最近开发一个项目,公司使用的是 openresty + lua,所以就研究了 openresty + lua.介绍的话,我就不多说了,网上太多了. 写这个博客主要是记录一下,在学习的过程中遇到的一些坑 ...
- openresty+lua在反向代理服务中的玩法
openresty+lua在反向代理服务中的玩法 phith0n · 2015/06/02 10:35 0x01 起因 几天前学弟给我介绍他用nginx搭建的反代,代理了谷歌和维基百科. 由此我想到了 ...
- openresty+lua+kafka方案与Tomcat接口并发度对比分析
1.openresty+lua+kafka 1.1 openresty+lua+kafka方案 之前的项目基于nginx反向代理后转发到Tomcat的API接口进行业务处理,然后将json数据打入ka ...
- Openresty+Lua+Kafka实现日志实时采集
简介 在很多数据采集场景下,Flume作为一个高性能采集日志的工具,相信大家都知道它.许多人想起Flume这个组件能联想到的大多数都是Flume跟Kafka相结合进行日志的采集,这种方案有很多他的优点 ...
- Openresty Lua协程调度机制
写在前面 OpenResty(后面简称:OR)是一个基于Nginx和Lua的高性能Web平台,它内部集成大量的Lua API以及第三方模块,可以利用它快速搭建支持高并发.极具动态性和扩展性的Web应用 ...
- OpenResty Lua钩子调用完整流程
前面一篇文章介绍了Openresty Lua协程调度机制,主要关心的是核心调度函数run_thread()内部发生的事情,而对于外部的事情我们并没有涉及.本篇作为其姊妹篇,准备补上剩余的部分.本篇将通 ...
- openresty+lua劫持请求,有点意思
0x01 起因 几天前学弟给我介绍他用nginx搭建的反代,代理了谷歌和维基百科. 由此我想到了一些邪恶的东西:反代既然是所有流量走我的服务器,那我是不是能够在中途做些手脚,达到一些有趣的目的. op ...
- 使用ZeroBrane Studio调试Openresty lua脚本
介绍 ZeroBraneStudio 作为轻量级.跨平台的Lua IDE,已被广泛用来调试各种Lua引擎游戏框架.Openresty.Wireshark脚本等等. Openresty 是一个建立在Ng ...
- openresty lua 文件上传与删除
[1]openresty 上传upload源码库 Github:https://github.com/openresty/lua-resty-upload 源码文件upload.lua文件 [2]上传 ...
- openresty + lua 4、openresty kafka
kafka 官网: https://kafka.apache.org/quickstart zookeeper 官网:https://zookeeper.apache.org/ kafka 运行需要 ...
随机推荐
- elasticsearch学习(1)
安装 elasticsearch ,操作elasticsearch的工具kibana, (1)在kibana中输入GET _cluster/health查看es的健康状况(2)在kibana中输入 G ...
- Java同步和异步过程中消息语言国际化处理策略
在Java后端做消息内容的语言国际化处理时可以通过Spring中MessageSource接口的来实现,但是MessageSource接口需要用到Locale对象, 而Locale类又是根据前端传过来 ...
- 2020牛客寒假算法基础集训营4-I 匹配星星【贪心】
链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 示例1 输入 复制 2 1 1 0 2 2 1 2 1 1 0 2 2 1 输出 复制 1 1 ...
- 1级搭建类107-Oracle 18c 单实例 FS(华为云)公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列除特定项目目前不对外发布,仅作为博客记录,其他公开.如学员在 ...
- (ubuntu系统)安装opencv-python后,报错libSM.so.6: cannot open shared object file: No such file or directory
这是我在 用云服务器跑python代码时候 遇到的问题 卡在这好长时间...希望对同样遇到这样窘境的小白们有所帮助 在控制台界面下,找不到cv2,,,, 解决办法 步骤一: 输入 sudo pass ...
- 微信小程序:如何判断数组中的条数?
可以<view wx:if="{{list.length == 0}}"> </view> 可以在 {{}} 内进行简单的运算,包括三元运算符.逻辑判断.算 ...
- Tomcat启动命令行窗口中文乱码
找到Tomcat安装目录conf/logging.properties文件 添加语句:java.util.logging.ConsoleHandler.encoding = GBK 重启Tomcat
- Alice and Hairdresser
Alice's hair is growing by leaps and bounds. Maybe the cause of it is the excess of vitamins, or may ...
- numpy学习(一)
(一)基础学习 学习渠道:阿里天池AI学习——Numpy基础(传送门) (二)练习篇 练习渠道:Numpy基础100题(Part 1) 1. Import the numpy package unde ...
- Spring作用域和BeenFactory
1.Spring Bean实例作用域: ① singleton: IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例. ② prototype: IOC容器可以创建多个 ...