使用 nil 移除键值对
本课属于 Coddy Lua 学习旅程的“基础知识”单元。第 69 课,共 90 课。
将 nil 赋给一个键时,Lua 实际上会从表中移除这个键值对:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- 移除 difficulty 设置
settings.difficulty = nil
-- 现在表中不再有 difficulty 键了你可以使用点表示法或方括号表示法来移除键值对。settings.difficulty = nil 和 settings["difficulty"] = nil 的效果完全相同。
将 nil 赋给一个键后,该键就会从表中完全消失。如果你之后尝试访问它,得到的结果会是 nil,就像这个键从未存在过一样。
挑战
简单创建一个游戏配置系统,演示如何从字典式表中移除不需要的设置。先创建一个名为 gameConfig 的表,并添加以下键值对:将字符串 "high" 赋给 ["graphics"],将数字 75 赋给 ["sound"],将字符串 "normal" 赋给 ["difficulty"],并将布尔值 true 赋给 ["debug"]。
创建初始配置表后,使用点表示法将 nil 赋给 debug 设置,以移除它。然后打印剩余的声音设置,验证表中仍包含其他值。
亲手试试
-- TODO:在这里编写你的代码
-- 创建 gameConfig 表,并添加所需的键值对
-- 使用点号表示法移除 debug 设置
-- 打印 sound 设置这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Lua 在线编译器