Az Elixir az igaz és hamis értékeket a Boolean típussal ábrázolja. Csak két érték létezik: true és false. Ezeket az értékeket Boolean operátorokkal lehet kombinálni (and/2, or/2, not/1):
true_variable = true and true
false_variable = true and false
true_variable = false or true
false_variable = false or false
true_variable = not false
false_variable = not true
Az and/2, or/2 és not/1 operátor szigorúan Boolean jellegű, ami azt jelenti, hogy az első argumentumuknak Boolean-nek kell lennie. Vannak ezzel egyenértékű Boolean operátorok is, amelyek bármilyen típusú argumentummal működnek: &&/2, ||/2 és !/1.
A Boolean operátorok rövidzárásos kiértékelést használnak, ami azt jelenti, hogy az operátor jobb oldalán álló kifejezés csak akkor értékelődik ki, ha szükséges.
Mindegyik operátornak más a precedenciája: a not/1 az and/2 és az or/2 előtt értékelődik ki. Zárójelekkel elérhető, hogy a kifejezés egy része a többiek előtt értékelődjön ki:
not true and false
# => false
not (true and false)
# => true
Amikor olyan függvényt írsz, amely Boolean értéket ad vissza, szokás, hogy a függvény nevét ? jellel zárd le. Ugyanez a konvenció használható a Boolean értéket tároló változóknál is.
def either_true?(a?, b?) do
a? or b?
end