Erlang:没有双引号的名字,还是字符串还是别的什么?

dhxwm5r4  于 2022-12-20  发布在  Erlang
关注(0)|答案(1)|浏览(176)

我是Erlang的新手,刚试过shell:

Eshell V8.2  (abort with ^G)
1> Hello=hello.
hello
2> Hello.
hello
3> Point={point,10,45}.
{point,10,45}
4> Point2={"point",10,45}.
{"point",10,45}

Point中,第一个元素是'point',没有名为point的变量,所以它不是一个引用,没有双精度的"",所以它不是一个字符串,但是shell不会报告任何错误。
那到底是什么?

9avjhtql

9avjhtql1#

它是一个原子。从documentation

  • 是一个文本,一个带名称的常量。如果原子不是以小写字母开始,或者它包含除字母数字字符、下划线(*)或@_之外的其他字符,则将其括在单引号(')中

所以point是一个有效的Erlang项,同样的概念也适用于hello

相关问题