Подтвердить что ты не робот

Кортежи против записей

В чем разница между кортежами и записями?

4b9b3361

Ответ 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 в других таблицах в отношениях, то есть посещаемость, результаты, контакты, сборы и т.д. Таким образом, весь набор данных одного ученика из всех таблиц является кортежем. Как я знаю. Спасибо.