13

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

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

4

3 回答 3

17

首先在Erlang OTP Reference Page Index中找到您要调用的模块和函数。

例如,要调用 random uniform,您将查看random模块并找到 uniform\0 函数。

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

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

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

于 2016-02-09T04:27:56.893 回答
4

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

iex> :c<TAB> 

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

iex> :crypto.<TAB>

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

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

iex> h :crypto

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

于 2016-02-10T19:40:54.170 回答
1

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

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

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

于 2016-02-11T10:40:26.287 回答