Unetway

Erlang - Типы данных

На любом языке программирования вам необходимо использовать несколько переменных для хранения различных типов информации. Переменные - это не что иное, как зарезервированные ячейки памяти для хранения значений. Это означает, что при создании переменной вы сохраняете некоторое пространство в памяти для хранения значения, связанного с этой переменной.

Встроенные типы данных

Возможно, вам захочется хранить информацию различных типов данных, таких как строка, символ, широкий символ, целое число, плавающая точка, логическое и т. д. На основе типа данных переменной операционная система выделяет память и решает, что может быть сохранено в зарезервированном объем памяти. Erlang предлагает широкий выбор встроенных типов данных. Ниже приведен список типов данных, которые определены в Erlang.

Number

В Erlang существует 2 типа числовых литералов, которые являются целыми числами и плавают. Пример использования типа данных данных показан в следующей программе. Эта программа показывает добавление 2 целых чисел.

-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite("~w",[1+1]).

Atom 

Atom это буквальный, постоянный с именем. Атом должен быть заключен в одинарные кавычки ('), если он не начинается с буквы нижнего регистра или если он содержит другие символы, кроме буквенно-цифровых символов, подчеркивание (_) или @.

Атомы должны начинаться с строчной буквы и содержать строчные и прописные символы, цифры, знак подчеркивания (_) и знак «at» (@) . Мы можем также заключить атом в одинарные кавычки.

Пример использования типа данных атома показан в следующей программе.

-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite(atom1).

Boolean

Булевы типы данных в Erlang - это два зарезервированных атома: true и false.Пример использования типа данных Boolean показан в следующей программе. В этом примере выполняется сравнение между двумя целыми числами и печать результирующего булева на консоль.

-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite(2 =< 3).

Bit String 

Битная строка используется для хранения области непечатаемой памяти. Пример того, как можно использовать тип данных бит-строки, показан в следующей программе. Эта программа определяет бит строку, состоящую из 2 бит. Binary_to_list является встроенной функцией , определяемой в Erlang , который может быть использован для преобразования строки бит в список.

-module(helloworld).
-export([start/0]).

start() ->
   Bin1 = <<10,20>>,
   X = binary_to_list(Bin1),
   io:fwrite("~w",[X]).

Tuple

Кортеж представляет собой сложный тип данных с фиксированным числом членов. Каждый термин в кортеже называется элементом. Количество элементов называется размером кортежа.

Пример использования типа данных Tuple показан в следующей программе.

-module(helloworld). 
-export([start/0]). 

start() -> 
   P = {john,24,{june,25}} , 
   io:fwrite("~w",[tuple_size(P)]).

Map 

Карта представляет собой сложный тип данных с переменным числом ассоциаций ключевых значений. Каждая ассоциация ключей и значений на карте называется парой ассоциаций. Элементы ключа и значения пары называются элементами. Количество пар ассоциаций называется размером карты. Пример использования типа данных карты показан в следующей программе.

-module(helloworld). 
-export([start/0]). 

start() -> 
   M1 = #{name=>john,age=>25}, 
   io:fwrite("~w",[map_size(M1)]).

List 

Список представляет собой составной тип данных с переменным числом терминов. Каждый термин в списке называется элементом. Количество элементов называется длиной списка.Пример того, как можно использовать тип данных List, показан в следующей программе.

-module(helloworld). 
-export([start/0]). 

start() -> 
   L = [10,20,30] , 
   io:fwrite("~w",[length(L)]).