【发布时间】:2016-05-18 22:57:17
【问题描述】:
Elixir 中调用 Erlang 函数的格式是什么?
具体来说,我如何调用iex 中的函数以及在哪里可以找到Erlang 提供的模块和函数列表。
【问题讨论】:
标签: elixir elixir-iex
Elixir 中调用 Erlang 函数的格式是什么?
具体来说,我如何调用iex 中的函数以及在哪里可以找到Erlang 提供的模块和函数列表。
【问题讨论】:
标签: elixir elixir-iex
erldocs.com 允许您以交互方式搜索 Erlang 文档。
如果您安装了联机帮助页,它们也很方便(只需在您的 shell 中使用 man <module-name>)。为此,我推荐kerl,它可以使用正确的配置自动安装 Erlang 手册页。
无耻地插入我的项目:
h 在 IEx 中的 Erlang 函数/模块上不起作用,但希望它会感谢 docsh。
【讨论】:
iex 中的自动完成功能对此有很大帮助。
iex> :c<TAB>
将显示所有从 Erlang 加载的以字母开头的模块 c,和
iex> :crypto.<TAB>
将向您展示该模块中可用的所有功能。不幸的是,从 Elixir 1.2 开始, h 命令还不适用于 Erlang 模块。不过它确实有一个有用的副作用。
最初并不是所有可用的 Erlang 模块都被加载(标准 Erlang 发行版中有超过 500 个)。加载模块的一种方法是使用h 命令。
iex> h :crypto
或者您可以只使用l 命令,但这并不那么有趣。
【讨论】:
首先在Erlang OTP Reference Page Index中找到你要调用的模块和函数。
例如,要调用随机制服,您可以查看 random 模块并找到 uniform\0 函数。
要在 Elixir 中调用它,请使用 :module.function() 格式,例如,
iex(1)> :random.uniform()
0.7230402056221108
对于不带任何参数的函数,括号是可选的。
【讨论】:
CamelCaseNames而erlang模块有:snake_case_names_with_a_colon