如何在 Elixir 中调用 Erlang 函数

How to call an Erlang function in Elixir

在 Elixir 中调用 Erlang 函数的格式是什么?

具体来说,如何调用 iex 中的函数以及在哪里可以找到 Erlang 提供的模块和函数列表。

首先在Erlang OTP Reference Page Index.

中找到要调用的模块和函数

例如,要调用随机制服,您可以查看 random 模块并找到 uniform[=23=] 函数。

要在 Elixir 中调用它,您可以使用 :module.function() 格式,例如,

iex(1)> :random.uniform()
0.7230402056221108

对于不接受任何参数的函数,括号是可选的。

iex 中的自动完成功能对此有很大帮助。

iex> :c<TAB> 

将显示所有从 Erlang 以字母开头的已加载模块 c,和

iex> :crypto.<TAB>

将向您展示该模块中可用的所有功能。不幸的是,从 Elixir 1.2 开始,h 命令还不能用于 Erlang 模块。不过它确实有一个有用的副作用。

最初并未加载所有可用的 Erlang 模块(标准 Erlang 发行版中有 500 多个)。加载模块的一种方法是使用 h 命令。

iex> h :crypto

或者您可以只使用 l 命令,但这并没有那么有趣。

erldocs.com 允许您以交互方式搜索 Erlang 文档。

联机帮助页也很方便(只需 man <module-name> 在您的 shell 中),如果您安装了联机帮助页。为此,我推荐 kerl,它可以使用正确的配置自动安装 Erlang 联机帮助页。

无耻地插入我的项目: h IEx 中的 Erlang 函数/模块不起作用,但希望它会感谢 docsh