Nim 支持布尔类型(bool)。布尔类型只有两个取值:truefalse

逻辑运算

布尔值支持逻辑运算:andornotxor。这四个运算的真值表(运算规则)如下:

  1. ╭───────┬───────┬─────────╮ ╭───────┬───────┬─────────╮
  2. a b a and b a b a or b
  3. ┝═══════╪═══════╪═════════┥ ┝═══════╪═══════╪═════════┥
  4. | true | true | true | | true | true | true |
  5. ├───────┼───────┼─────────┤ ├───────┼───────┼─────────┤
  6. | true | false | false | | true | false | true |
  7. ├───────┼───────┼─────────┤ ├───────┼───────┼─────────┤
  8. | false | true | false | | false | true | true |
  9. ├───────┼───────┼─────────┤ ├───────┼───────┼─────────┤
  10. | false | false | false | | false | false | false |
  11. ╰───────┴───────┴─────────╯ ╰───────┴───────┴─────────╯
  12. ╭───────┬───────╮ ╭───────┬───────┬─────────╮
  13. a not a a b a xor b
  14. ┝═══════╪═══════┥ ┝═══════╪═══════╪═════════┥
  15. | true | false | | true | true | false |
  16. ├───────┼───────┤ ├───────┼───────┼─────────┤
  17. | false | true | | true | false | true |
  18. ╰───────┴───────╯ ├───────┼───────┼─────────┤
  19. | false | true | true |
  20. ├───────┼───────┼─────────┤
  21. | false | false | false |
  22. ╰───────┴───────┴─────────╯

比较运算

如果某个类型支持进行比较运算,那么两个此类型值,在应用比较运算符 >=>==<<=!= 时,会得到一个布尔型运算结果。比如:1 > 2 的结果是 false

需要指出,布尔值之间也可以进行比较运算,true 永远大于 false