English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В любом языке программирования необходимо использовать множество переменных для хранения различных типов информации. Переменные — это просто резервированные места в памяти для хранения значений. Это означает, что при создании переменной вы резервируете определенное количество места в памяти для хранения значения, связанного с этой переменной.
Вы можете хранить информацию различных типов данных, такие как строки, символы, широкие символы, целые числа, дробные числа, логические значения и т.д. Операционная системаassigns память переменным в зависимости от их типа данных и определяет, что можно хранить в зарезервированной памяти.
Erlang предоставляет множество встроенных типов данных. Вот список типов данных, определяемых в Erlang:
Number(Числа)− В Erlang есть два типа числовых литералов: целые числа и дробные числа.
Atom(Атомы)− Атомы — это символы, это именованные константы. Если атом не начинается с малой буквы или содержит символьно-цифровые символы, подчеркивание (_) или символ @, то его заключают в кавычки (').
Boolean(Булево) − В Erlang тип данных логического значения представлен двумя резервируемыми атомами: true и false。
Битовая строка (Битовая строка)−Используйте битовые строки для хранения неопределенных областей памяти.
Тупл(Тупл)−Тупл - это составной тип данных с фиксированным количеством элементов. Каждый элемент в тупле называется элементом. Количество элементов называется размером тупла.
Мап (карта)−Мап (карта) - это составной тип данных с переменным количеством ключ-значение ассоциаций. Каждая ключ-значение ассоциация в мапе называется парой. Часть ключа и значения в паре называется элементом. Количество пар называется размером мапы.
Список(Список)−Список - это составной тип данных с переменным количеством элементов. Каждый элемент в списке называется элементом. Количество элементов называется размером списка.
Внимание−Вы удивитесь, что в этом списке нет типа данных String. Это потому, что в Erlang нет专门 определенного типа данных строки. Но в следующей главе мы увидим, как использовать строки.
Ниже приведены примеры использования каждого типа данных. Таким образом, каждый тип данных будет подробно рассмотрен в следующих разделах. Это всего лишь краткое описание, чтобы познакомить вас с перечисленными типами данных.
Ниже приведен пример программы, показывающей использование типа данных Number. Эта программа показывает сложение двух целых чисел.
-module(helloworld). -export([start/0]). start() -> io:fwrite("~w", [1 + 1]).
Вывод программы будет:
2
Атомы должны начинаться с малой буквы и могут содержать малые и большие буквы, цифры и подчеркивания(_)и символ "at"(@). Мы также можем заключить атом в одиночные кавычки.
Ниже приведен пример программы, показывающей использование типа данных Atom. В этой программе мы создаем атом atom1.
-module(helloworld). -export([start/0]). start() -> io:fwrite(atom1).
Вывод программы будет:
atom1
Ниже приведен пример программы, показывающей использование типа данных Boolean. В этом примере сравниваются два целых числа, и результат логического значения выводится на экран.
-module(helloworld). -export([start/0]). start() -> io:fwrite(2 =< 3).
Вывод программы будет:
Вывод
true
Ниже приведен пример программы, показывающей использование типа данных 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]).
Вывод программы будет следующим:
[10, 20]
Ниже приведен пример программы, показывающей использование типа данных Tuple.
Здесь мы определяем тупл P с тремя элементами. tuple_size - это втроенный функционал Erlang, который можно использовать для определения размера тупла.
-module(helloworld). -export([start/0]). start() -> P = {john, 24, {june, 25}}, io:fwrite("~w",[tuple_size(P)]).
Вывод программы будет:
3
Следующая программа显示了 как использовать пример с типом данных Map.
Здесь мы определили Map M1 с двумя мапами. map_size — это вbuilt-функция Erlang, которая может определить размер карты.
-module(helloworld). -export([start/0]). start() -> M1 = #{name=>john,age=>25}, io:fwrite("~w",[map_size(M1)]).
Вывод программы будет::
2
Следующая программа显示了如何 использовать пример с типом данных List.
Здесь мы определилиСписок LОн содержит 3 проекта. Внутренняя функция length, определенная в Erlang, может использоваться для определения размера списка.
-module(helloworld). -export([start/0]). start() -> L = [10,20,30], io:fwrite("~w",[length(L)]).
Вывод программы будет::
3