在Erlang中没有专门的布尔类型的值,而是使用原子true和false直接作为布尔值。
注意:小于等于号的写法。
比较操作和布尔运算的结果都是布尔值。
以下为布尔值之间的运算与运算符:
- and 参与运算的两个参数都是真,返回的结果为真
- or 参与运算的两个参数有一个是真,返回的结果为真
- xor 参与运算的两个布尔值不同,返回的结果为真
- andalso 采用短路计算方式,第一个参数为假,则返回假而不计算第二参数
- orelse 与andalso类似,第一个参数为真,则返回真而不计算第二个参数
- not 一元运算符,总是返回与参数相反的布尔值
下图为几个布尔运算实例:
注意图中的第6行,运算完成后,F变量的值并没有绑定,因为andalso运算时,见到第一个为true就直接返回true,而第二个式子根本没有计算。而第7行运算之后,变量F就已经绑定了值5。
注:常用的比较操作符
注意:小于等于号的写法。