В Erlang все переменные связаны с оператором ‘=’. Все переменные должны начинаться с символа верхнего регистра. В других языках программирования знак «=» используется для назначения, но не в случае с Erlang. Как уже говорилось, переменные определяются с помощью оператора ‘=’.
В Erlang следует отметить одну ключевую вещь: переменные являются неизменяемыми, что означает, что для изменения значения переменной ее необходимо уничтожить и заново создать.
Следующие основные переменные в Erlang объясняются в последней главе —
-
Числа — это используется, чтобы представить целое число или число с плавающей точкой. Пример 10.
-
Boolean — Представляет логическое значение, которое может быть истинным или ложным.
-
Битовая строка — битовая строка используется для хранения области нетипизированной памяти. Пример << 40,50 >>.
-
Кортеж — кортеж — это составной тип данных с фиксированным числом терминов. Примером является {40,50}.
-
Карта — карта — это составной тип данных с переменным числом ассоциаций ключ-значение. Каждая ассоциация ключ-значение на карте называется парой ассоциации. Примером является {type => person, age => 25}.
-
Список — список — это составной тип данных с переменным количеством терминов. Примером является [40,40].
Числа — это используется, чтобы представить целое число или число с плавающей точкой. Пример 10.
Boolean — Представляет логическое значение, которое может быть истинным или ложным.
Битовая строка — битовая строка используется для хранения области нетипизированной памяти. Пример << 40,50 >>.
Кортеж — кортеж — это составной тип данных с фиксированным числом терминов. Примером является {40,50}.
Карта — карта — это составной тип данных с переменным числом ассоциаций ключ-значение. Каждая ассоциация ключ-значение на карте называется парой ассоциации. Примером является {type => person, age => 25}.
Список — список — это составной тип данных с переменным количеством терминов. Примером является [40,40].
Объявления переменных
Общий синтаксис определения переменной следующий:
Синтаксис
var-name = var-value
Куда,
-
var-name — это имя переменной.
-
var-value — это значение, связанное с переменной.
var-name — это имя переменной.
var-value — это значение, связанное с переменной.
Ниже приведен пример объявления переменной:
пример
-module(helloworld). -export([start/0]). start() -> X = 40, Y = 50, Result = X + Y, io:fwrite("~w",[Result]).
В приведенном выше примере у нас есть 2 переменные, одна из которых X, которая связана со значением 40, а следующая Y, которая связана со значением 50. Другая переменная с именем Result связана с добавлением X и Y.
Выход вышеупомянутой программы будет —
Выход
90
Именование переменных
Как уже говорилось, имена переменных должны начинаться с заглавных букв. Давайте рассмотрим пример переменной, объявленной в нижнем регистре.
пример
-module(helloworld). -export([start/0]). start() -> X = 40, Y = 50, result = X + Y, io:fwrite("~w",[Result]).
Если вы попытаетесь скомпилировать вышеуказанную программу, вы получите следующую ошибку времени компиляции.
Выход
helloworld.erl:8: variable 'Result' is unbound
Во-вторых, все переменные могут быть назначены только один раз. Давайте рассмотрим пример назначения переменной более одного раза.
пример
-module(helloworld). -export([start/0]). start() -> X = 40, Y = 50, X = 60, io:fwrite("~w",[X]).
Если вы попытаетесь скомпилировать вышеуказанную программу, вы получите следующую ошибку времени компиляции.
Выход
helloworld.erl:6: Warning: variable 'Y' is unused helloworld.erl:7: Warning: no clause will ever match helloworld.erl:7: Warning: the guard for this clause evaluates to 'false'
Переменные печати
В этом разделе мы обсудим, как использовать различные функции печати переменных.
Использование функции io: fwrite
Вы бы видели, как это (io: fwrite) используется во всех вышеперечисленных программах. Функция fwrite является частью модуля ‘io’ или Erlang, который может использоваться для вывода значения переменных в программе.
В следующем примере показано еще несколько параметров, которые можно использовать с оператором fwrite.
пример
-module(helloworld). -export([start/0]). start() -> X = 40.00, Y = 50.00, io:fwrite("~f~n",[X]), io:fwrite("~e",[Y]).
Выход вышеупомянутой программы будет —
Выход
40.000000 5.00000e+1
Следующие указатели должны быть отмечены о вышеупомянутой программе.
~ — Этот символ символизирует необходимость некоторого форматирования для вывода.
~ f — Аргумент — это число с плавающей точкой, которое записывается как [-] ddd.ddd, где точность — это число цифр после десятичной точки. Точность по умолчанию равна 6, и она не может быть меньше 1.
~ n — Это для печати на новую строку.
~ e — Аргумент — это число с плавающей точкой, которое записывается как [-] d.ddde + -ddd, где точность — это количество записанных цифр. Точность по умолчанию равна 6, и она не может быть меньше 2.