基本的な演算子

 cf. 3 基本的な演算子 – Basic operators – Elixir

算術演算子

四則演算は一通りある。

  • +
  • -
  • *
  • /

普通と違うのは、昨日も書いたけど / が必ず浮動小数点数を返すってこと。

リストの操作

これも昨日書いた。

  • ++
  • --

文字列の連結

<> 演算子。

iex(1)> "foo" <> "bar"
"foobar"

論理演算子

論理演算子は6種類。

  • and
  • or
  • not
  • &&
  • ||
  • !

andornot は第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

最後の例のように、真理値でない場合はエラーが発生する。
それに対して、&&||! は真理値でなくても構わない。この場合、falsenil 以外はすべて真とみなされる。

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

型の大小関係は正確に覚えておく必要はないと書いてあるので省略。