Openresty 中的空值:nil,ngx.null,cjson.null
2020-03-08 11:16:32
收藏数:0
阅读数:625
评论数:2
nil lua 的空值
nil 是 lua 语音的空值,不能当做 table 的 value,布尔值为 false
ngx.null
ngx.null 是 openresty 引入的空值,可以当做 table 的 value,布尔值为 true
$ resty -e 'if ngx.null then
ngx.say("true")
end'
cjson.null
cjson.null 是 cjson 库引入的空值,decode 之后可以当做 table 的 value,用来处理 json 的 null,布尔值为 false
$ resty -e 'local cjson = require "cjson"
local data = cjson.encode(nil)
local decode_null = cjson.decode(data)
ngx.say(decode_null == cjson.null)' // true
cdata:NULL
LuaJIT FFI 接口去调用 C 函数,而这个函数返回一个 NULL 指针,cdata:NULL,布尔值为 true
$ resty -e 'local ffi = require "ffi"
local cdata_null = ffi.new("void*", nil)
ngx.say(cdata_null == nil)' // true


vvv
👍
2020-04-05 16:14:29
评论区的留言会收到邮件通知哦~
推荐文章
- [实习] [开源软件] Casbin 开源软件 GSoC 远程预选+实习生 for Lua
- Openresty 压测总结
- Openresty 中的空值:nil,ngx.null,cjson.null
- macbook pro A1707 15 寸笔记本拆机指南
- Lua 的垃圾回收机制
- 介绍几个和 Lua 有关的工具
- 什么时候使用 access_by_lua,什么时候使用 content_by_lua
- Windows下 怎么编译安装 luadist lua版本是5.53
- srlua编译的exe如何反编译
- lua tcp socket queued connect timed out
- luarocks 牛刀小试
- EFK 日志服务-地理位置 geo_point 配置
- 解决 docker scratch 镜像的部署问题
- gitlab runner docker in docker 踩坑记
- MoonScript 代表月亮消灭你
- 将 Lua 代码编译为 JavaScript
- Lua游戏设计范例3
- 函数美学3---Curry化
- luaClass
- 求助!请教一个关于luaxml模块的使用问题
o( ̄▽ ̄)d