В каком формате вызывается функция Erlang в Elixir?
В частности, как я могу вызвать функцию в iex
и где найти список модулей и функций, доступных в Erlang.
В каком формате вызывается функция Erlang в Elixir?
В частности, как я могу вызвать функцию в iex
и где найти список модулей и функций, доступных в Erlang.
Сначала найдите модуль и функцию, которые вы хотите вызвать, в указателе справочной страницы Erlang OTP.
Например, чтобы вызвать random uniform, вы должны заглянуть в модуль random и найти функцию uniform \ 0.
Чтобы вызвать это в Эликсире, вы используете формат :module.function()
, например,
iex(1)> :random.uniform()
0.7230402056221108
Для функций, которые не принимают никаких параметров, скобки необязательны.
CamelCaseNames
, а модули erlang имеют :snake_case_names_with_a_colon
- person Paweł Obrok; 09.02.2016
Автозаполнение в 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>
в вашей оболочке), если они у вас установлены. Для этого я рекомендую kerl, который может автоматически устанавливать справочные страницы Erlang с правильной конфигурацией.
Бесстыдный плагин к моему проекту: h
на функциях / модулях Erlang в IEx не работает, но надеюсь, что это будет, благодаря docsh.