В чем разница между кортежами и записями?
Кортежи против записей
Ответ 1
Оба являются типами продуктов, которые позволяют создавать типы из нескольких более простых типов. Некоторые языки рассматривают кортежи как своего рода запись.
Определения
Кортеж представляет собой упорядоченную группу элементов, например (10, 25).
Обычно запись представляет собой группу именованных элементов, таких как { "x": 10, "y": 25 }
, где значение имеет два поля с меткой x
и y
, а значение поля x
равно 10
.
Морфологические
Слово "кортеж" происходит из общего суффикса "-tuple" на "пятикратном", "шестикратном", "септильном", "восьмерном", что означает группы из 5, 6, 7 и 8 соответственно.
Слово "запись" происходит из таблиц данных. Вы можете представить все возможные кортежи с полями x
и y
в виде таблицы, в которой столбцы соответствуют полям и строкам, которые собирают все поля для конкретного экземпляра записи.
value address field x field y
0xABCD 10 25
0x1234 42 "xyz"
Эквивалентность типов продуктов
Вы можете рассматривать кортеж как своего рода запись, где индекс элемента в кортеже является его именем в эквивалентной записи, поэтому (10, 25)
- { "0": 10, "1": 25 }
. Я полагаю, что стандарт ML и родственные языки используют записи как базовую единицу тип соединения (алгебраические типы данных обеспечивают дизъюнкцию типа) и рассматривают кортежи как своего рода запись таким образом.
Ответ 2
Согласно Википедии:
В информатике запись (, также называемая tuple или struct) является одной из простейших структур данных, состоящей из двух или более значений или переменных, хранящихся в последовательной памяти позиции; так что каждый компонент (называемый полем или членом записи) может быть доступен путем применения разных смещений к начальному адресу.
Я бы сказал, что между кортежем и записью мало различий.
Ответ 3
Запись - это полная строка элементов данных из одной таблицы, скажем, студент имеет запись под номером roll no. 3 в одной таблице, где в качестве кортежа есть супер набор записей, в котором данные принадлежат другим таблицам, например, строки записей студенческого рулона № 3 в других таблицах в отношениях, то есть посещаемость, результаты, контакты, сборы и т.д. Таким образом, весь набор данных одного ученика из всех таблиц является кортежем. Как я знаю. Спасибо.