Size: a a a

2021 April 07

A

Alexander in ru.nim.talks
ну т.е. тут вообще ты можешь передать "tag:s": "hello"  а следующим сообщением "tag:i": "112233"
источник

A

Alexander in ru.nim.talks
вообще конечно надо снимательнее почитать прежде чем судить, но при быстром осмотре - что-то странное
источник

A

Alexander in ru.nim.talks
я вот не понимаю почему json не заменят на bson
источник

KD

Kitsune Digital in ru.nim.talks
его руками не поредактировать
источник

A

Alexander in ru.nim.talks
да, наверное, но мне кажется дело в каком-нить plugin для vscode
источник

A

Alexander in ru.nim.talks
в остальном - одни плюсы
источник

G

Gabben in ru.nim.talks
Эх, если бы десереализация была бы такой простой
источник

f

for(int c; (c = getc... in ru.nim.talks
Ну за десять минут в качестве примера сойдет, а потом уже надо смотреть
источник

f

for(int c; (c = getc... in ru.nim.talks
Хотя ради интереса - на какие самые явные грабли я там наступил?
источник

f

for(int c; (c = getc... in ru.nim.talks
Кроме отсутствия поддержки ref типов и такого рода вещей
источник

G

Gabben in ru.nim.talks
А, емае, 51 строчку не увидел
источник

G

Gabben in ru.nim.talks
Я вот deser пишу с мыслью, что разработчики форматов не проверяют сами наличие данных. Сначала писал без проверок, а потом для поддержки кейс объектов оказалось нужным знать какие поля удачно, какие неудачно
источник

f

for(int c; (c = getc... in ru.nim.talks
Это да, я ее вкинул только примера ради (и потом пример не сделал сам). По хорошему я хотел там проверить что ключ есть, и если его нет потом проверить еще вообще все ключи - может быть там был неправильный тип
источник

f

for(int c; (c = getc... in ru.nim.talks
Учитывая специфику tjson это было бы самым нормальным решением
источник

f

for(int c; (c = getc... in ru.nim.talks
В pattern matching из fusion я это предусмотрел все же, там можно сказать

{ "key": opt @capture } или {"key": opt @capture or default}
источник

G

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

G

Gabben in ru.nim.talks
Ну пятый раз перепишу
источник

f

for(int c; (c = getc... in ru.nim.talks
Если примут предложение от Clyybber то там придется ловить полный набор доступный под каждое значение  и как-то их объединять потом. Хотя главное чтобы их уже просто приняли наконец и сделали, каждый раз такие костыли надо крутить вокруг

(говорю про этот синтаксис)

 Node = object
   case kind: NodeKind
   of foo, bar, baz:
     children: seq[Node]
   of bad, bif:
     dad: Node

   case kind
   of foo:
      additionalFieldForFoo: int
   of bar:
     onlyValidForBar: float
   else: discard
источник

G

Gabben in ru.nim.talks
Мне такой не нравится)
источник

f

for(int c; (c = getc... in ru.nim.talks
https://github.com/gabbhack/deser/blob/da1ff6e24e963056e7c33bb744b98dd5f46c3d9d/src/deser/macro_utils.nim#L17 я тоже начал с этого, потом в конечном итоге выяснилось что для того чтобы нормально описать структуру объектов нужно что-то на уровне https://haxscramper.github.io/hnimast/src/hnimast/object_decl.html#ObjectField
источник