Lua 数据类型 - nil

一、作用

  1. 表示没有任何值
  2. 删除一个全局变量
  3. 删除 table 中的值
lua 复制代码
--- name 没有声明过,所以会为 nil,表示当前什么都没有
print(name)     --> nil
lua 复制代码
local name = "江澎涌"
print(name)             --> 江澎涌

--- 将 name 置为 nil 进行删除
name = nil
print(name)             --> nil
lua 复制代码
--- 创建一个表
---   key    |      value
--- "name"   |  "jiangpengyong"
local table = { name = "jiangpengyong" }
print(table["name"])    --> jiangpengyong
table["name"] = nil
print(table["name"])    --> nil

二、获取 nil 类型

因为 type 的返回值都是字符串,所以在 nil 进行比较时,记得加上 "

lua 复制代码
--- 类型
print(type(X))      --> nil

--- 因为这里的 type(X) 是 string 类型,所以不等 nil
print(type(X)==nil)     --> false

--- 需要使用 "nil" 进行比较
print(type(X)=="nil")   --> true

--- 也可以这样使用
print(X == nill)        --> true

三、写在最后

Lua 项目地址:Github传送门 (如果对你有所帮助或喜欢的话,赏个star吧,码字不易,请多多支持)

公众号搜索 "江澎涌" 可以第一时间获取到后续文章

相关推荐
guigu201211 分钟前
C++ 面向对象进阶:继承深化与多态详解
开发语言·c++
晨非辰19 分钟前
《从数组到动态顺序表:数据结构与算法如何优化内存管理?》
c语言·数据结构·经验分享·笔记·其他·算法
晚风予卿云月1 小时前
详解STL中stack_queue为什么选择deque作为默认容器
c++·stl·deque·stack_queue
web安全工具库1 小时前
Linux ls 命令进阶:从隐藏文件到递归显示,成为文件浏览大师
linux·运维·服务器·c语言·开发语言
charlie1145141912 小时前
精读C++20设计模式——结构型设计模式:代理模式
c++·学习·设计模式·代理模式·c++20·概论
0xCode 小新2 小时前
【C语言内存函数完全指南】:memcpy、memmove、memset、memcmp 的用法、区别与模拟实现(含代码示例)
linux·c语言·人工智能·深度学习·机器学习·容器·内存函数
无限进步_3 小时前
【C语言】计算两个整数二进制表示中不同位的个数
c语言·开发语言
K 旺仔小馒头4 小时前
【代码的暴力美学】-- C语言基础编程题_2
c语言·开发语言·刷题
序属秋秋秋4 小时前
《C++进阶之C++11》【可变参数模板 + emplace接口 + 新的类功能】
c++·笔记·学习·c++11·可变参数模板·emplace系列接口
Pocker_Spades_A4 小时前
C++程序设计上机作业(1)
开发语言·c++