Re[6]: и ещё про рекорды..
От: MadHuman Россия  
Дата: 16.09.20 08:25
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Для этого в дотнете уже есть туплы. Вот они как раз чисто структурно эквивалентны. У них нет никакого поведения, кроме вшитого из коробки, и нет возможности наследоваться, что могло бы приводить к коллизиям.

Рекорды это дальнейшее развитие идеи туплов, когда вместо позиционной идентификации элементов переходят на именованную.

MH>>но понятно, по сути можно считать что у каждого рекорда есть неявное поле типа Type, и за счет него даже структурно одинакоко задефайненные рекорды всё равно будут отличаться.

S>С учётом того, что рекорды создавались не только как "мешочек с данными" — у них может быть различное поведение,
кмк, рекорд это в 1-ю очередь структура для данных или "мешочек с данными". То что можно прицеплять методы/поведение — это вторично.

S>их можно наследовать — так что преимуществ у структурной эквивалентности разных типов рекордов не видно.

согласен, у явно задефайненных разными типов невидно и особенно учитывая, неявное поле Type, и не надо.

MH>>или ещё кейс когда уместно, допустим что можно создавать анонимные рекорды (щас наверно пока нельзя, но думаю к этому вопросу подойдут).

S>Зачем? Чем они будут лучше анонимных классов?
тем же самым чем рекорды лучше классов. анонимность — это способ созданий/декларации.
сходу, в том же Select возвращать не анонимный класс, а рекорд

MH>>и вот тогда логично ожидать что созданные в 2х разных местах структурно идентичные рекорды, но с разным порядком дефайнинга полей, должны быть равны.

S>По-прежнему непонятно, зачем это нужно.
S>Было бы интересно посмотреть на пример сценария, в котором это было бы полезно.
Сходу затрудняюсь привести убедительный пример, но например в F# уже есть анонимные рекорды и созданные в разных местах структурно идентичные и с одинаковыми значениями компонентов такие рекорды будут равны.
Наверняка они сделаны потому что были кэйсы когда посчитали что это полезно. Можно найти ишью на гитхабе, почитать про историю их появления.
Моё интуитивное ощущение, что это правильно, такие рекорды должны быть структурно равны.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.