elixir - 为什么 is_atom(nil) 在 elixir 中等于 true?

非常简单的问题,我在处理 exfile 时注意到了它图书馆。

这个表达式返回:

is_atom(nil) # => true

这有点不可预测。我的问题是:这是怎么发生的?为什么它返回 true

最佳答案

nil 是一个原子,还有 truefalse

这在 http://elixir-lang.org/getting-started/basic-types.html#atoms 中记录了 truefalse

您还可以检查:

nil == :nil
true == :true
false == :false

一些相关链接:

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

https://stackoverflow.com/questions/38852905/

相关文章:

python - 如何从递归 Python 函数返回值?

r - 按组移动 data.table 中的一列列表

php - 匹配来自所有语言php的字母的正则表达式

haskell - 让 Multiline haskell 函数在 ghci 中工作

java - 如何确定一个数字中的所有设置位是否也在另一个数字中设置?

php - 如何使用php将html代码转换为png图像

python - Flask:重定向(url_for())返回html但不加载页面

module - 如何导入本地模块?

amazon-web-services - 将记录写入 Aurora 数据库实例时触发 AWS La

maven - 缺少神器 soapui :SoapUI:jar:5. 2.1