Size: a a a

2021 January 10

VB

Vladimir Berezenko in ru.nim.talks
Kitsune Digital
кажется теперь я понимаю почему девиз питона и гулага «есть только один способ сделать это» — это хорошо
да. ну и explicit is better than implicit
источник

A

Alexander in ru.nim.talks
у меня вот в последнем крейте даже почему-то даже в голову не пришло наследование заюзать, хотя вот сейчас думаю может зря и надо попробовать
источник

G

Gabben in ru.nim.talks
Alexander
@QMaster с ходу не понятно - packets с kind object дружит?
Вообще не понятно как из эффективно десереализовывать
источник

KD

Kitsune Digital in ru.nim.talks
короче нахер всё, да здравствует fat object
источник

VB

Vladimir Berezenko in ru.nim.talks
Gabben
Вообще не понятно как из эффективно десереализовывать
Мне кажется что все реализации, которые сейчас есть, имеют ограничения те или иные. Тип не очень удобный для сериализации/десериализации.
источник

A

Alexander in ru.nim.talks
Gabben
Вообще не понятно как из эффективно десереализовывать
В расте просто навешиваешь прагму с тем по какому полю. Но там можно в enum new type положить, а в ниме вроде нет.
источник

G

Gabben in ru.nim.talks
Vladimir Berezenko
Мне кажется что все реализации, которые сейчас есть, имеют ограничения те или иные. Тип не очень удобный для сериализации/десериализации.
В принципе с новым рантаймом и возможностью смены kindа становится проще
источник

A

Alexander in ru.nim.talks
Alexander
В расте просто навешиваешь прагму с тем по какому полю. Но там можно в enum new type положить, а в ниме вроде нет.
В том плане что не нужно указывать поле для хранения данных этого kind
источник

VB

Vladimir Berezenko in ru.nim.talks
Alexander
В расте просто навешиваешь прагму с тем по какому полю. Но там можно в enum new type положить, а в ниме вроде нет.
острый костылизм.
источник

VB

Vladimir Berezenko in ru.nim.talks
но реализуемый так-же в точности и в ниме. я подумаю как это запилить в пакетах
источник

A

Alexander in ru.nim.talks
Vladimir Berezenko
острый костылизм.
Ну, по идее, раз в ниме есть явный kind, то и не надо указывать, и это уже даже вроде работает, как минимум в jsonutils, я просто его недавно использовал.
источник

G

Gabben in ru.nim.talks
Alexander
В расте просто навешиваешь прагму с тем по какому полю. Но там можно в enum new type положить, а в ниме вроде нет.
Это если kind указан в самих данных, что не очень интересно, вот над untagged стоит поразмышлять
источник

A

Alexander in ru.nim.talks
Alexander
Ну, по идее, раз в ниме есть явный kind, то и не надо указывать, и это уже даже вроде работает, как минимум в jsonutils, я просто его недавно использовал.
Но вот отсутствие newtype в enum, я именно про доступ к данным kind без поля , вот это немного портит картину
источник

VB

Vladimir Berezenko in ru.nim.talks
да. тип полностью должен быть определён. ну и kind переменная не может иметь значение бОльшее чем 32767 :)
источник

A

Alexander in ru.nim.talks
Gabben
Это если kind указан в самих данных, что не очень интересно, вот над untagged стоит поразмышлять
Так обычно все же по тегу, мне кажется в большинстве случаев, для untagged там тоже что-то есть, вроде по подходящим полям найти, но точно не помню, врать не буду
источник

VB

Vladimir Berezenko in ru.nim.talks
вот это прям реально бесит.
источник

A

Alexander in ru.nim.talks
Хз, может нужно какое-то поле с именем default (для хранения данных этого kind), и что его не надо указывать, но так себе идея наверное
источник

G

Gabben in ru.nim.talks
Alexander
Так обычно все же по тегу, мне кажется в большинстве случаев, для untagged там тоже что-то есть, вроде по подходящим полям найти, но точно не помню, врать не буду
В бот апи телеги нет тегов, а то как придумали в teloxide без Option мне очень нравится)
источник

A

Alexander in ru.nim.talks
Ну а что одно имя для разных kind - это rfc-19
источник

G

Gabben in ru.nim.talks
Vladimir Berezenko
да. тип полностью должен быть определён. ну и kind переменная не может иметь значение бОльшее чем 32767 :)
Так не обязательно же с новым рантаймом
источник