不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2019-03-31 00:33:59  修改时间:2024-04-28 23:36:31  分类:OpenResty_Lua  编辑

在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用性。

作者:Albert.Wen  添加时间:2018-07-23 10:54:09  修改时间:2024-05-07 16:24:38  分类:OpenResty_Lua  编辑
作者:Albert.Wen  添加时间:2019-03-31 09:09:59  修改时间:2024-05-07 12:48:48  分类:OpenResty_Lua  编辑

在函数定义之前使用函数相当于在变量赋值之前使用变量,Lua 世界对于没有赋值的变量,默认都是 nil,所以这里也就产生了一个 nil 的错误。

作者:Albert.Wen  添加时间:2019-03-30 23:01:49  修改时间:2024-04-28 23:36:35  分类:OpenResty_Lua  编辑

Lua 具有一项与众不同的特性,允许函数返回多个值。Lua 的库函数中,有一些就是返回多个值

作者:Albert.Wen  添加时间:2019-03-31 09:20:39  修改时间:2024-04-30 04:39:34  分类:OpenResty_Lua  编辑

对于比较底层的模块,内部使用到的非本地函数,都需要 local 本地化,这样做的好处:

  • 避免命名冲突:防止外部是 require(...) 的方法调用造成全局变量污染
  • 访问局部变量的速度比全局变量更快、更快、更快(重要事情说三遍)
作者:Albert.Wen  添加时间:2019-03-30 22:34:29  修改时间:2024-04-30 04:39:26  分类:OpenResty_Lua  编辑

数字型 for 的语法如下:

for var = begin, finish, step do
    --body
end
作者:Albert.Wen  添加时间:2019-03-30 23:32:02  修改时间:2024-05-07 16:02:46  分类:OpenResty_Lua  编辑

Lua 数学库由一组标准的数学函数构成。数学库的引入丰富了 Lua 编程语言的功能,同时也方便了程序的编写。常用数学函数见下表:

作者:Albert.Wen  添加时间:2019-03-31 09:56:00  修改时间:2024-04-28 15:51:16  分类:OpenResty_Lua  编辑

语法规则

location [=|~|~*|^~]  /uri/  { … }

 

模式 含义
location = /uri = 表示精确匹配,只有完全匹配上才能生效
location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern 开头表示区分大小写的正则匹配
location ~* pattern 开头表示不区分大小写的正则匹配
location /uri 不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
location / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default
作者:Albert.Wen  添加时间:2019-03-31 10:26:02  修改时间:2024-04-19 12:15:53  分类:OpenResty_Lua  编辑

Nginx 日志主要有两种:access_log(访问日志) 和 error_log(错误日志)。

作者:Albert.Wen  添加时间:2019-04-01 00:28:27  修改时间:2024-05-05 13:00:21  分类:OpenResty_Lua  编辑

table 是 lua 中常用的数据结构,写一个函数专门来调试它,就变得很有必要了