Size: a a a

Clojure — русскоговорящее сообщество

2021 April 26

A

Andrey in Clojure — русскоговорящее сообщество
думаю это мало чем отличается от жавового подхода с конструктором
источник

A

Andrey in Clojure — русскоговорящее сообщество
в си конечно проще)
источник

A

Andrey in Clojure — русскоговорящее сообщество
но возможно есть какое-то решение более удобное/лаконичное
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я бы написал себе утилитку, которая принимает какое-то представление парсера в виде данных и собирает из него функцию, которая принимает ByteBuffer и допустим возвращает вектор спаршенных полей
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
octet по ссылке выше это в сущности и делает.
источник

А

Алексей in Clojure — русскоговорящее сообщество
окей
источник

А

Алексей in Clojure — русскоговорящее сообщество
вот-вот)
источник

А

Алексей in Clojure — русскоговорящее сообщество
ладно, попробую покурить тему, спасибо за инфу
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
А если есть возможность изменить протокол у передающей стороны, можно перейти на общее определение с помощью какого-нибудь protobuf, и из него генерить код для обеих сторон.
источник

А

Алексей in Clojure — русскоговорящее сообщество
вот это точно нет)
источник

А

Алексей in Clojure — русскоговорящее сообщество
там уже все закостенело прилично
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
надо упаковать этот код в функцию или макрос, например

(parse-binary bytes [:int :long, etc])
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
на выходе вектор данных, которые получились для ключей в векторе
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
внутри мультиметод или case по ключам из вектора, которые сводятся к .getInt, .getLong и тд
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
или вообще как в питоне в модуле struct: задать типы буквами, например IIL -- два инта и лонг
источник

А

Алексей in Clojure — русскоговорящее сообщество
ну вот да, была мысль как в питоне
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
источник

А

Алексей in Clojure — русскоговорящее сообщество
изначальная версия кстати так и была написана)
источник

А

Алексей in Clojure — русскоговорящее сообщество
ага
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
изменится просто диспатч: не по кейворду, а по символу из строки, например \L
источник