【发布时间】:2015-11-22 13:14:18
【问题描述】:
根据http://elixir-lang.org/getting-started/basic-types.html#atoms:
原子是常量,它们的名字就是它们自己的值。其他 语言称这些符号
我想知道有一个 atom 类型有什么意义。可能是为了帮助构建解析器或宏?但是在日常使用中它对程序员有什么帮助呢?
顺便说一句:永远不要使用 elixir 或 erlang,只要注意它存在(也在 kdb 中)
【问题讨论】:
-
为什么在许多其他语言中使用枚举类型很有用?当你需要一个符号来表示一个是的值时,因为符号本身的语义很重要——那么你需要原子。枚举是实现它的一种方式,Erlang 原子是另一种方式。它们更简洁,受到的实施限制要少得多,并且不会因“在 C 中一切都是整数”这一事实而受到攻击。