【发布时间】:2014-02-14 11:00:36
【问题描述】:
我发现 Erlang 的模块 arity import /n 其中 n 是参数的数量相当奇怪。
在 Java 和其他各种语言中,您可以执行以下操作:
import static com.stuff.Blah.myFunction;
无论参数如何,都会导入所有重载的Blay.myFunction(..)。
除了我想明确说明为什么语言设计者认为这是一个好主意(我不是要批评这种语言......只是好奇)?
- 和代码交换有关系吗?
- 或者它是否与隐藏 guard 方法以进行递归有关?如果是这样,为什么不允许在导出时使用 arity,但在导入时不需要使用 arity?
- 我为什么要这么明确?那就是导入两个参数函数而不是
myFunction的三个参数?
【问题讨论】:
标签: erlang