在 Elixir 中调用 Erlang 函数的格式是什么?
具体来说,我如何调用该函数iex
以及在哪里可以找到 Erlang 提供的模块和函数列表。
首先在Erlang OTP Reference Page Index中找到您要调用的模块和函数。
例如,要调用 random uniform,您将查看random模块并找到 uniform\0 函数。
要在 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 函数/模块不起作用,但希望它会感谢dosh。