非常简单的问题,我在exfile库上工作时注意到了它.
该表达式返回:
is_atom(nil) # => true
Run Code Online (Sandbox Code Playgroud)
这有点不可预测.我的问题是:它是如何发生的?为什么会回来 true?
nil是一个原子,连同true和false.
这是记录了true和false在http://elixir-lang.org/getting-started/basic-types.html#atoms
您还可以查看:
nil == :nil
true == :true
false == :false
Run Code Online (Sandbox Code Playgroud)
一些相关链接:
https://github.com/elixir-lang/elixir/blob/v1.3.2/lib/elixir/src/elixir_tokenizer.erl#L986 https://github.com/elixir-lang/elixir/blob/v1.3.2 /lib/elixir/src/elixir_parser.yrl#L253