为什么这个 erlang 函数是未定义的


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 模块,需要要求/导入,但我不知道怎么做?

附言不要建议 timex 相反,如果它没有像这个 erlang 函数那样高精度计算时间戳差异的函数。我没有找到阅读文档。

使用

:timer.now_diff(a, b)

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

最新更新