Size: a a a

2021 July 20

PB

Petr B. in Embedded Group
Ну такое и на marshmallow городится, и думаю на много чем ещё
источник

L

LexsZero in Embedded Group
источник

SP

Stanislav Popov in Embedded Group
чтобы были типчики не городится
источник

SP

Stanislav Popov in Embedded Group
ну кстати забавно что они изобрели в 2019 то что в статике было при царе горохе
источник

SP

Stanislav Popov in Embedded Group
ну представь себе d: TypedDict например {a:number, b:number} которому можно было бы сделать

d.remove('a')

и получить {b:number}

прямо выводом. и аргумент бы тоже тайпчекался
источник

L

LexsZero in Embedded Group
какие-то жсерские приколюхи
источник

PB

Petr B. in Embedded Group
Не совсем понятно зачем
(Возможно просто не сталкивался с необходимостью в таком)
источник

L

LexsZero in Embedded Group
по классике тут вообще два отдельных типа, с двумя полями и с одним, и морфизм из одного в другой
источник

SP

Stanislav Popov in Embedded Group
ну так и есть, только они анонимные и выводятся сами
источник

L

LexsZero in Embedded Group
если они анонимные то ты сосешь с утиной типизацией
источник

L

LexsZero in Embedded Group
и можно тогда вообще ничего не выводить
источник

SP

Stanislav Popov in Embedded Group
анонимные а не динамические
источник

SP

Stanislav Popov in Embedded Group
т.е. они есть
источник

SP

Stanislav Popov in Embedded Group
можешь взять структуру и заменить некоторые ее поля на option аналоги, например
источник

L

LexsZero in Embedded Group
дык хули толку-то от того что у тебя анонимный тип выведется, если ты не можешь прописать констрейны в коде
источник

SP

Stanislav Popov in Embedded Group
так можешь. структурная типизация же
источник

SP

Stanislav Popov in Embedded Group
ну это все такие себе решения конечно, да. но можно же!
источник

L

LexsZero in Embedded Group
ну вот есть у меня три типа: PointInEarthAtmosphere { lat, lon, altitude}, PointOnEarth { lat, lon } и PointOnMoon { lat, lon }. мы взяли и пидорнули altitude из объекта первого типа и получили анонимный {lat, lon}.
еще у меня есть функция посадки космического корабля на луну, принимающая PointOnMoon. ничто не мешает мне передать эту анонимную хуйню туда. right?
источник

L

LexsZero in Embedded Group
если б вместо remove отдающего анонимный тип был явный морфизм PointInEarthAtmospher -> PointOnEarth, то это бы не тайпчекнулось
источник

SP

Stanislav Popov in Embedded Group
ну это немного для других кейсов конечно
источник