真值与假值
本课属于 Coddy Lua 学习旅程的“基础知识”单元。第 24 课,共 90 课。
使用 and、or 和 not 等逻辑运算符时,Lua 需要确定在逻辑上下文中哪些值算作“真”或“假”。这个概念称为真值和假值,Lua 对它们的处理方式与许多其他编程语言不同。
在 Lua 中,只有两个值被视为假值(在逻辑运算中按 false 处理):
print(false and "This won't print") -- false 是假值
print(nil and "This won't print") -- nil 是假值注意,and 和 or 返回它们的一个操作数,而不只是 true 或 false:当 a 为假值时,a and b 返回 a,否则返回 b;当 a 为真值时,a or b 返回 a,否则返回 b。因此,上面的两行会分别输出 false 和 nil,下面的每一行都会输出其中的文本。
在 Lua 中,其他所有值都被视为真值(在逻辑运算中按 true 处理)。如果你来自其他语言,其中一些值可能会让你感到意外:
print(0 and "This will print") -- 在 Lua 中,0 是真值!
print("" and "This will print") -- 空字符串是真值!
print({} and "This will print") -- 空表是真值!亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Lua 在线编译器