169 похожих чатов

Вот интересно, может кто что-то предложит здесь по поводу замены

union types
в рсокет есть такой класс Payload(data: BRP, metadata: BRP?)
BRP - это пакет байтиков
хотелось бы для удобства/простоты иметь возможность создавать этот Payload как-то через такую ф-ию
fun Payload(data: String | ByteArray | BRP, metadata: (String | ByteArray | BRP | Metadata)? = null): Payload = ...
но union types у нас нет
как бы Вы предложили это сделать?

13 ответов

13 просмотров

конструкторы разные

Anton Vlasov
конструкторы разные

посчитайте сколько их будет

Принимать BRP, а его конструирование переложить на пользователя 🌚

Oleg-Yukhnevich Автор вопроса

если это чтобы вызывать, то можно силеды сделать BytePayload(array), StringPayload("string")

Oleg-Yukhnevich Автор вопроса
Vladimir Petraković
Принимать BRP, а его конструирование переложить на...

не удобно, потому что его создание это например: buildPacket { writeText(string) } для строки )

хотя в принципе и принимать также можно, тип if(payload is BytePayload)

Oleg Yukhnevich
15 ф-ий :)

это разве проблема если вам нужно такое апи?

Oleg-Yukhnevich Автор вопроса
Oleg Yukhnevich
просто хочется чего-то лучше

Sealed классы, но они только под ваше апи

Oleg-Yukhnevich Автор вопроса
Anton Vlasov
Sealed классы, но они только под ваше апи

да здесь они как-то вообще не к место

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта