cls.__supers = cls.__supers or {} 第一次为哪一个值为什么
时间: 2024-04-12 17:33:35 浏览: 174
学习软件_等级考试_SuperSpeech新大纲普通话水平测试免费下载.zip
5星 · 资源好评率100%
在 Lua 中,`cls.__supers = cls.__supers or {}` 这行代码的作用是创建一个表 `cls.__supers`,如果 `cls.__supers` 已经存在,则不会重新创建,而是直接使用已存在的表。
当第一次执行这行代码时,如果 `cls.__supers` 不存在,即为 `nil`,那么 `cls.__supers or {}` 的结果就是一个空表 `{}`。然后将这个空表赋值给 `cls.__supers`。这样就确保了 `cls.__supers` 变量始终指向一个表。
当之后再次执行这行代码时,如果 `cls.__supers` 已经存在(即不为 `nil`),则 `cls.__supers or {}` 的结果就是 `cls.__supers` 本身,不会重新创建新的表。
这种用法常见于创建或初始化某个变量,确保变量始终指向一个表,以便后续向其中添加元素或进行其他操作。
阅读全文