🧪
[ネタ]ElixirでDreams come == true
そのまま書いた場合
iex> "Dreams come" == true
false
Stringモジュールでboolにしてから比較する
iex> String.valid?("Dreams come") == true
true
モジュールを定義して比較する
iex(1)> defmodule Dreams do
...(1)> def come, do: true
...(1)> end
{:module, Dreams,
<<70, 79, 82, 49, 0, 0, 4, 156, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 142,
0, 0, 0, 15, 13, 69, 108, 105, 120, 105, 114, 46, 68, 114, 101, 97, 109, 115,
8, 95, 95, 105, 110, 102, 111, 95, 95, ...>>, {:come, 0}}
iex(2)> Dreams.come == true
true
ちなみに、Elixirのtrue
とfalse
の実態はAtomです。
iex> i true
Term
true
Data type
Atom
Reference modules
Atom
Implemented protocols
IEx.Info, Inspect, List.Chars, String.Chars
iex> i false
Term
false
Data type
Atom
Reference modules
Atom
Implemented protocols
IEx.Info, Inspect, List.Chars, String.Chars
Discussion