Size: a a a

Scala User Group

2020 April 10

ЮБ

Юрий Бадальянц in Scala User Group
ща попробую
источник

ЮБ

Юрий Бадальянц in Scala User Group
Alexey Otts
Чтобы можно было по contramap получать object
А как мне сделать выбор? Там ведь concat принимает врайтер того же типа. А у меня другой тип (наследник)
источник

ЮБ

Юрий Бадальянц in Scala User Group
источник

ЮБ

Юрий Бадальянц in Scala User Group
Чёт для такой задачи вообще не просто получилось
источник

AH

Ayrat Hudaygulov in Scala User Group
Здесь дублирование не нужно
Сериализовать DU можно так

{ Foo:1 }

В общем случае

{ caseName: casePayload }
источник

AH

Ayrat Hudaygulov in Scala User Group
Подразумевается что caseName уникальный
источник

ЮБ

Юрий Бадальянц in Scala User Group
Ayrat Hudaygulov
Здесь дублирование не нужно
Сериализовать DU можно так

{ Foo:1 }

В общем случае

{ caseName: casePayload }
Я не понял этого сообщения. Что такое DU?
источник

AH

Ayrat Hudaygulov in Scala User Group
Юрий Бадальянц
Я не понял этого сообщения. Что такое DU?
Discriminated union, выражаемые через силед трейты
источник

AH

Ayrat Hudaygulov in Scala User Group
clazz не нужен
источник

ЮБ

Юрий Бадальянц in Scala User Group
Что значит не нужен?
источник

ЮБ

Юрий Бадальянц in Scala User Group
Я всё ещё не понимаю
источник

ЮБ

Юрий Бадальянц in Scala User Group
Покажи код
источник

AH

Ayrat Hudaygulov in Scala User Group
Юрий Бадальянц
Покажи код
Не могу сейчас. Не нужен потому, что у тебя имя кейса может быть именем объекта в жсоне
источник

ЮБ

Юрий Бадальянц in Scala User Group
Ты о том, что лучше такие штуки выражать вот так:
{
 "Foo": {
   "foo":1
 }
}

?
источник

AH

Ayrat Hudaygulov in Scala User Group
Тебе нужен дискриминатор, способ отделения кейсов друг от друга. Ты делаешь поле дискриминатора. А можно воспользоваться свойством жсона, что структура объекта - мапа, и тем что у тебя кейсы трейта так же уникальны
источник

AH

Ayrat Hudaygulov in Scala User Group
Юрий Бадальянц
Ты о том, что лучше такие штуки выражать вот так:
{
 "Foo": {
   "foo":1
 }
}

?
Кейс классы с одним полем можно схлопывать до их имени
источник

ЮБ

Юрий Бадальянц in Scala User Group
Это просто другой способ. В моём случае у меня есть уже внешний формат, который я не могу изменить, и там вот такой способ разделения
источник

ЮБ

Юрий Бадальянц in Scala User Group
Чувак, нуэто же минимальный пример
источник

ЮБ

Юрий Бадальянц in Scala User Group
на самом деле у меня куча полей там
источник

AH

Ayrat Hudaygulov in Scala User Group
Юрий Бадальянц
на самом деле у меня куча полей там
Ну тем более.

{
 Foo: {
   Field1: ...
   Field2: ...
 }
}
источник