二郎原子和"......"

jur*_*uro 5 erlang

这是erlang shell的输出:

1> atom.
atom
2> next_atom.
next_atom
3> atom@erlang.
atom@erlang
4> 'atom in single quotes'.
'atom in single quotes'
5> atom = 'atom'.
atom
6> a.tom.
'a.tom'
7> a..tom.
* 1: syntax error before: '..'
Run Code Online (Sandbox Code Playgroud)

.原子中只有一个点(第6行)时,我没有错误.但是,当有..,我得到语法错误.是否..有一些二郎特殊的意义或为什么会出现错误时.能正常工作?

tof*_*der 15

原子中不允许使用点,但两个原子之间的点'foo'.'bar'是:,是一个将原子连接到的编译时运算符'foo.bar'.

这是一个扩展,用于支持(仍然没有官方支持)类似Java的包系统.这就是为什么它没有记录.

  • 使用'.'来解释语法.还引入了允许原子作为主机名,即bofh@home.com (4认同)
  • 这是几年前提出来的,但似乎新版本的Erlang根本不允许原子中的点.我试图粘贴一个示例,但它没有正确格式化.`a.tom.给我'*1:之前的语法错误:'.'` (2认同)