cf. 3 基本的な演算子 – Basic operators – Elixir
算術演算子
四則演算は一通りある。
+-*/
普通と違うのは、昨日も書いたけど / が必ず浮動小数点数を返すってこと。
リストの操作
これも昨日書いた。
++--
文字列の連結
<> 演算子。
iex(1)> "foo" <> "bar" "foobar"
論理演算子
論理演算子は6種類。
andornot&&||!
and、or、not は第1引数に真理値を要求する。
iex(2)> true and true true iex(3)> false or is_atom(:hello) true iex(4)> not true false iex(5)> 1 and true ** (ArgumentError) argument error: 1
最後の例のように、真理値でない場合はエラーが発生する。
それに対して、&&、||、! は真理値でなくても構わない。この場合、false と nil 以外はすべて真とみなされる。
iex(5)> 1 && true true iex(6)> false || 11 11 iex(7)> !nil true
比較演算子
=====!==!===>=<=><
大体意味はわかる。== と === の違いは整数と浮動小数点数の違いに厳密かどうかってこと。
iex(8)> 1 == 1.0 true iex(9)> 1 === 1.0 false
異なる型を比較することもできる。
iex(10)> 1 < :atom true
型の大小関係は正確に覚えておく必要はないと書いてあるので省略。