Начнем с самого начала. Первое, что вам нужно сделать, это установить Erlang. Существует полное руководство по установке, которое охватывает все конфигурации. Находясь на сайте, обязательно добавьте документы в закладки. Вы будете часто обращаться к ним, когда будете учиться! Далее вам понадобится текстовый редактор. Если у вас еще нет любимого редактора, рекомендую Visual Studio Code. По состоянию на начало 2018 года VS code является проектом номер один на Github с точки зрения активности участников, и это видно. Редактор на голову опережает конкурентов с точки зрения конфигураций, поддержки плагинов и во многих случаях даже скорости.

После настройки откройте системный терминал. В коде VS также есть удобный встроенный терминал, который вы можете открыть, нажав ctrl + `. Затем введите erl в терминале. Это интегрированный REPL Erlang. Попробуйте ввести несколько простых астматических выражений, строк и т. д.... немного покопайтесь.

начинаем писать простой модуль

-module(basic_math).
-export([basic_math/0]).

Примечание:

1. Название модуля должно совпадать с названием файла

2. Нам нужно экспортировать все функции, которые мы собираемся вызывать из внешних функций, перечисленных в формате имя/арность (арность — это количество аргументов, которые ожидает функция)

3. Если мы практикуемся, то мы можем экспортировать все функции, используя

-compile(export_all).

Эта функция выполняет основные арифметические действия и печатает результаты

basic_math() ->
  io:format("1. Simple addition - ~p~n", [2 + 3]),

io:format используется для печати значений. ~p заменяется значением из предоставленного списка

в качестве второго аргумента. ~n для новой строки. ~p для красивой печати. Можно использовать erl -man io

чтобы получить справочную страницу модуля io и справку по поиску модуля формата, чтобы понять параметры, отличные от ~ p и ~ n

io:format("2. Multiplication of very big integers " "- ~p~n"[2234234234 * 234234234234234]),

Целочисленная арифметика в Erlang точна, поэтому никогда не нужно беспокоиться о переполнении.

io:format("3. Integers in other base are - ~p and ""~p~n",[51966, 30359899]),

Целые числа можно записывать с любым основанием от 2 до 36. Формат записи целых чисел с основанием, отличным от 10, — «основание#число».

io:format("4. ASCII value of a and A are ~p and ""~prespectively~n",[$a, $A]),

Мы можем получить значение символов ASCII в виде целых чисел по предшествующему символу со знаком $.

Целочисленное деление

io:format("5. Integer division 5/3=~p~n", [5 / 3]),

Поплавковое деление

io:format("6. Float division 5.0/3.0=~p~n",[5.0 / 3.0]),

Остаток от деления

io:format("7. Remainder of divison 5/3=~p~n",[5 rem 3]),

Коэффициент деления

io:format(“8. Quotient of divison 5/3=~p~n”, [5 div 3]),

Значение последнего выражения возвращается как значение вызова функции. Последний оператор функции заканчивается на . а не с, точка (.) помогает указать конец определения функции.

ok.

Чтобы скомпилировать и запустить это, мы запускаем оболочку Erlang в каталоге, где мы сохранили basic_math.erl, и делаем следующее:

$ erl
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe] [dtrace]
Eshell V10.4  (abort with ^G)
1> c(basic_math).
{ok,basic_math}
2> basic_math:
basic_math/0   module_info/0  module_info/1
2> basic_math:basic_math().
1. Simple addition - 5
2. Multiplication of very big integers - 523334144900900377566756
3. Integers in other base are - 51966 and 30359899
4. ASCII value of a and A are 97 and 65 respectively
5. Integer division 5/3=1.6666666666666667
6. Float division 5.0/3.0=1.6666666666666667
7. Remainder of divison 5/3=2
8. Quotient of divison 5/3=1
ok
3> halt().
$

Команда c(basic_math) компилирует код в basic_math.erl {ok,basic_math} означает, что компиляция прошла успешно. теперь код готов к запуску. В строке 2 мы вычислили функцию basic_math:basic_math(). В строке 3 мы остановили оболочку Erlang.