【发布时间】:2016-04-14 20:20:32
【问题描述】:
我想知道为什么 Elixir 没有数学模块。
我知道我们可以使用 Erlang math: 模块来写这个:
alias :math, as: Math
但是,将那一行放在我们的 Elixir 代码中是一种好习惯吗?
在 iex 中它似乎可以工作:
iex(1)> alias :math, as: Math
nil
iex(2)> Math.pi()
3.141592653589793
iex(3)> Math.pow(3, 2)
9.0
唉,很明显我们无法以 Elixir 的方式访问文档:
iex(4)> h(Math)
:math is an Erlang module and, as such, it does not have Elixir-style docs
【问题讨论】:
-
我们为什么要复制已经过测试和证明的现有 Erlang 功能?这样做的显着优势在哪里?
-
一旦我阅读了@josevalim 的回答,复制模块毫无意义。就 Erlang 而言,Elixir 可以使用 Erlang 中的所有内容,因此如果您不更改任何内容,就没有必要像那样克隆这些模块。
标签: elixir