Краткое руководство по изучению этих концепций

В этой серии мы использовали несколько модулей, таких как String и Map, на этот раз мы увидим, как создавать свои собственные модули.

В принципе, они очень похожи на классы; однако у них нет состояния.

Основной синтаксис модулей следующий:

В модулях мы можем найти, среди прочего, два типа функций: общедоступные функции, к которым можно получить доступ в других модулях (и внутри iex), и частные функции, которые могут выполняться только в том же модуле. Важно помнить, что функции возвращают последнюю строку кода.

Запуск файла .ex

Чтобы запустить этот модуль, мы должны его скомпилировать. Итак, в нашем терминале, на уровне, где находится модуль (я назвал его math.ex), выполняем следующее:

Это возвращает нам байт-код нашего модуля, и он автоматически доступен в нашей интерактивной оболочке Elixir. Это происходит, когда мы находимся в том же каталоге, что и модуль, поэтому, если мы поместим

а потом

он возвращает 3.

Запуск файла .exs

Другой способ его выполнения — поместить модуль в exs-файл, где байт-код хранится в памяти и его не нужно компилировать. Вам останется только вывести на экран результат выполнения функции модуля.

И запустите его командой elixir

Скомпилировать ex в iex

Мы можем компилировать и импортировать файлы Elixir внутри интерактивной оболочки. В iex помещаем следующее:

Таким образом, мы также можем вызывать функции нашего модуля

Функции в Эликсире

Функции могут иметь палаты и предложения. Давайте посмотрим на функцию, которая проверяет, равно ли число нулю, когда оно целое. Вот код:

У нас также могут быть значения по умолчанию. Давайте посмотрим на пример со строками:

Затем запустите файл после его компиляции в iex

Когда у нас есть несколько предложений в функции, полезно использовать функцию-заголовок, которая определяет значения по умолчанию, а затем варды для входа в ту или иную функцию.

Таким образом, если мы отправляем только один аргумент, a, аргумент b принимает значение nil, а затем выполняется функция соединения, которая возвращает только a.

Спасибо за прочтение! Оставайтесь с нами, чтобы узнать больше.