Re: tuple vs record
От: vsb Казахстан  
Дата: 02.02.20 18:51
Оценка:
Кортеж это упорядоченное конечное множество элементов. Запись это именованное неупорядоченное конечное множество элементов.

Если ты присваиваешь элементам кортежа наименования, по сути ты вводишь псевдонимы. Это ничего не меняет в кортеже, первенствующая сущность это по прежнему порядок. В том же SQL ты можешь делать union и он оперирует исключительно позициями столбцов, а не их именами.

В случае с записью порядка нет априори. Имя это единственная возможность обращаться к элементу.

Если говорить об операции сравнения, я бы предложил выкидывать исключение, если сравниваются два кортежа с именованными полями, названия которых не совпадают (конечно должна быть возможность переименовать или просто убрать именования с полей в рамках системы типов, если программист всё же хочет их сравнить). Сравнение же идёт по индексу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.