为什么这个erlang函数未定义?

时间:2016-03-21 18:44:33

标签: elixir

iex(1)> a = :erlang.timestamp
{1458, 585479, 931609}
iex(2)> b = :erlang.timestamp
{1458, 585484, 197713}
iex(3)> :erlang.now_diff(a,b)
** (UndefinedFunctionError) undefined function: :erlang.now_diff/2
    :erlang.now_diff({1458, 585479, 931609}, {1458, 585484, 197713})

所以我可以在elixir中访问erlang函数,通过:erlang访问它们,但now_diff/2未定义。

我有一个想法,这个计时器不是标准的erlang模块,需要/需要/导入,但我无法弄清楚如何?

P.S。如果没有像这个erlang函数那样高精度计算时间戳diff的函数,请不要建议timex。我没有找到阅读文档。

1 个答案:

答案 0 :(得分:5)

使用

:timer.now_diff(a, b)

函数不以:erlang为前缀,因为它们是erlang函数,但因为它们是erlang模块的一部分。 now_diff是计时器模块的一部分,因此您将使用:timer而不是:erlang