Учебники

Эрланг — Типы данных

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

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

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

Erlang предлагает широкий спектр встроенных типов данных. Ниже приведен список типов данных, которые определены в Erlang —

  • Число — в Erlang есть 2 типа числовых литералов, которые являются целыми числами и числами с плавающей точкой.

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

  • Boolean — Булевы типы данных в Erlang — это два зарезервированных атома: true и false.

  • Битовая строка — битовая строка используется для хранения области нетипизированной памяти.

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

  • Карта — карта — это составной тип данных с переменным числом ассоциаций ключ-значение. Каждая ассоциация ключ-значение на карте называется парой ассоциации. Ключевые и значимые части пары называются элементами. Количество пар ассоциаций называется размером карты.

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

Число — в Erlang есть 2 типа числовых литералов, которые являются целыми числами и числами с плавающей точкой.

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

Boolean — Булевы типы данных в Erlang — это два зарезервированных атома: true и false.

Битовая строка — битовая строка используется для хранения области нетипизированной памяти.

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

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

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

Примечание. Вы будете удивлены тем, что нигде в списке выше не видите тип String. Это потому, что нет строкового типа данных, определенного исключительно в Erlang. Но мы увидим, как мы можем работать со строками в следующей главе.

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

Число

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

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход

2

Атом

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

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

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход

atom1

логический

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

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход

true

Битовая строка

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

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход

[10,20]

Кортеж

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

Здесь мы определяем кортеж P, который имеет 3 члена. Tuple_size — это встроенная функция, определенная в Erlang, которая может использоваться для определения размера кортежа.

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход

3

карта

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

Здесь мы определяем карту M1, которая имеет 2 отображения. Map_size — это встроенная функция, определенная в Erlang, которая может использоваться для определения размера карты.

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход

2

Список

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

Здесь мы определяем список L, который имеет 3 элемента. Длина — это встроенная функция, определенная в Erlang, которая может использоваться для определения размера списка.

пример

Live Demo

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

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

Выход вышеупомянутой программы будет —

Выход