【Lua学习笔记】逻辑运算符及短路规则

1、逻辑运算符的基本使用
2、逻辑运算符的短路规则

  • 逻辑运算符的基本使用
--逻辑运算符: and(),or(),not()
--and():and左右两则,1个假的结果为假,全真才为真.
--or():or左右两侧,有1个真的结果为真,全假则为假
--not():非真即假,非假即真


--For example
local num1 = 10
local num2 = 20
local num3 = 30
print(num1>num2 and num1<num2)  ->false
print(num1>num2 or num2<num3)	->true
print(not(num1>num2))			->true

--注意:在逻辑运算中将false和nil都视为假,其他都视为真
--For example
print(not(nil))		->true
print(not(false))	->true
print(not(30))		->false
  • 逻辑运算的短路规则
--所谓的短路可以理解为串联的线路,一旦线路的某处中断了,电流将无法传递
--那么在lua的逻辑运算中,短路规则如何理解?
--对于and来说,是逻辑"假"的短路规则.即如果第1个操作数是假的,则返回第1个操作数,否则返回第2个操作数.
--对于or来说,是逻辑"真"的短路规则,即如果第1个操作数是真的,则返回第1个操作数,否则返回第2个操作数.

--For example
--对于and的短路规则
print(false and true) 
--很明显第1个操作数是假,那么输出的结果就是false
print(20 and 30)
--很明显第1个操作数是真,那么返回第2个操作数,即输出30

--对于or的短路规则
print(nil or 30)
--很明显第1个操作是假,那么返回第2个操作数,即输出30
print(70 or false)
--很明显第1个操作是真,直接返回第1个操作数,即输出70

短路规则第一次接触可能比较难理解,需要好好琢磨一下哦~

—人生苦短,我爱学习

—the end—

你可能感兴趣的:(Lua语言的学习笔记)