我问这个问题,因为我注意到很多OpenSource Erlang项目使用“new”将参数传递给Erlang模块,但我同时听到“new”不是官方语言的一部分,可能不是支持,如果它包含错误。在我在自己的项目中使用它之前,我想澄清一下这个问题。
更新: 我已经在Erlang官方邮件列表上询问了答案:
http://www.erlang.org/cgi-bin/ezmlm-cgi?4:mss:49535:201002:aicfhmngkhodmclhlnak
答案 0 :(得分:4)
没有官方的Erlang标准,这使得很难成为它的一部分。
OTP / Erlang团队似乎只会将功能视为官方功能。参数化模块(即功能名称)未记录。 OTP / Erlang团队决定做的是尽可能接近Erlang标准。
就我个人而言,我没有看到让Erlang看起来像是不是的东西的吸引力。它只会使语言有更多的规则来教导和教导,而这只会让那些期望一切都像过去的OO背景的人感到失望。增加复杂性并不强大。
实现方式(许多利用的抽象)参数化模块当前只是模块名称和参数化模块的“实例变量”的元组。所以它只是一个隐藏一些参数的外部函数调用。