Оба являются типами продуктов , которые позволяют создавать типы из нескольких более простых типов. Некоторые языки рассматривают кортежи как своего рода запись.
Определения
Кортеж - это упорядоченная группа элементов, например (10, 25).
Запись обычно представляет собой группу именованных элементов, таких как { "x": 10, "y": 25 }
, где значение имеет два поля, помеченные x
и y
, а значение поля x
равно 10
.
Морфологические
Слово «кортеж» происходит от общего суффикса «-tuple» в терминах «quintuple», «sextuple», «septuple», «octuple», что означает группы из 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 и родственных языках записи используются как базовая единица объединения типов ( алгебраические типы данных предоставляют дизъюнкцию типов) и таким образом рассматривают кортежи как своего рода записи.