布尔

Bool,在julia中其实是整数的一类(Bool <: Integer

  • 值只有2种,truefalse
  • 支持比较:false<true

未定义

Undefined,一种特殊的类型

  • 唯一值:undefined
  • javascript不同,未定义的东西会报错,而不是自动转化成undefined

Nothing,具有唯一值nothing,用于对应C中的void

缺失

Missing,与一些语言的null相似,但不完全相似

  • 具有唯一值missing,用于进行三值逻辑
  • 对于大部分操作,missing会传递 ```shell julia> missing==missing missing

julia> missing+8 missing

  1. - `ismissing(x)`判断x是否为`missing`
  2. - `isequal``===`能正确判断
  3. <a name="2d977b3b"></a>
  4. ### 三值逻辑
  5. 允许的参数:`true``false``missing`
  6. | 表达式 | 名称 | 描述 |
  7. | --- | --- | --- |
  8. | x & y | | 若有`false`则值为`false`<br />若均为`true`则值为`true`<br />否则值为`missing` |
  9. | x &#124; y | | 若有`true`则值为`true`<br />若均为`false`则值为`false`<br />否则值为`missing` |
  10. | ! x | | `! true`=`false`<br />`! false`=`true`<br />`! missing`=`missing` |
  11. | x && y | 短路与 | 不允许`missing`<br />若x`false`则不会检测y |
  12. | x &#124;&#124; y | 短路或 | 不允许`missing`<br />若x`true`则不会检测y |
  13. | x y | 异或 | 可使用`xor(x,y)`<br />若参数有`missing`则值为`missing`<br />若x,y相同则为`false`,否则为`true` |
  14. <a name="fc89cab8"></a>
  15. ### 与数字的交互
  16. ```shell
  17. julia> false == 0
  18. true
  19. julia> true == 1
  20. true
  21. julia> 0 * NaN
  22. NaN
  23. julia> false * NaN
  24. 0.0