0X10逻辑运算

前置知识

  • 0X0F比较数值

正文

  1. 一次比较数值的运算,就是在让计算机判断一个命题的真假。逻辑上命题可以进行运算,得到新的命题。新命题的真值由原有命题决定。在Lua中也可以对逻辑值、存储逻辑值的变量或结果为逻辑值的表达式进行逻辑值运算。
  2. 运算规则很简单就是逻辑中的与或非运算。所有符号是三个关键字。
    • and 与,需要两个操作数
    • or 或,需要两个操作数
    • not 非,只需要一个操作数
  3. 与运算链接两个逻辑值,只有两个逻辑值都为真,它的结果才为真。否则为假。 >>true and true > 这个式子返回true。 >>true and false >false and true >false and true > 这三个返回false。
  4. 或运算也链接i啷个逻辑值,但是只要有一个为真就返回真。
  5. 非运算后接一个逻辑值。若真则返回假,若操作数为假则返回真。例如: >>not true > 这个式子返回假。
  6. 比较数值的表达式可以直接参与逻辑运算,例如: >>(x>3) and (x<=9) > 这个式子当x大于3且小于等于9的时候返回真。其余返回假。由于与或非运算的优先级比较低,这里不加括号其实也可以。但是我习惯加上,防止混淆,增加可读性。
  7. 也可以用变量进行运算: >>x1=20 >x2=15 >b1=x1<x2 >b2=x1==x2 >b1 or b2 >
  8. 逻辑值的运算其实也可以用其他类型的值(例如数字)作为操作数,例如: >>true and 20 >false and 20 > 另外,凡是需要逻辑值作为参数的地方(例如函数参数或后续要介绍的选择结构),都可以用其他值替代。其中nil值等同于false。其他值等同于true。(具体的规则比较复杂记住nil等同于false,其他等同于true就可以了。)
  9. 逻辑运算的结果也可以作为逻辑运算的操作数。视频演示: 逻辑运算 https://www.bilibili.com/video/av14209223/

后续推荐

  • 0X13变量与值
  • 0X14选择结构