Vladimir
мне лично обещал что можно будет)
Vladimir
только не обещал когда конечно)
Roman
мне лично обещал что можно будет)
Ты видишь юзкейсы для них?
Ayrat
Vladimir
Ayrat
Но я тоже не вижу юзкейсов если честно
Roman
Ну кроме порта
Vladimir
ну это же трейты
Roman
Вообще нет
Vladimir
основной юзкейз это неломающие обновления интерфейсов
Roman
Ты не можешь их накинуть на чужой тип. Это не трейты
Vladimir
но и так же множественное наследование
Vladimir
когда я либу обновляю свою расширяя интерфейс
Vladimir
и сразу все должны дописать имплементации, а так нет
Vladimir
Ты не можешь их накинуть на чужой тип. Это не трейты
я думал трейты это когда докидываешь имеющийся функионал путем указания трейта)
Vladimir
но вполне мог быть не прав
gsomix
я думал трейты это когда докидываешь имеющийся функионал путем указания трейта)
В программировании одни и те же термины могут иметь разные значения. :)
gsomix
Например, можно сравнить traits в Scala и Rust.
Roman
я думал трейты это когда докидываешь имеющийся функионал путем указания трейта)
я не знаю, насколько это устоявшийся термин, и сужу по тому, как это в расте сделано. Там ты отдельно объявляешь трейт, отдельно делаешь его имплементацию для произвольного типа без изменения его объявления
Roman
но и так же множественное наследование
это скорее минус, чем плюс. Меня в этой истории смущает неявность
Ilya
default interface methods
а я что то завтыкал, а есть пример использования в бцл?
Vladimir
а я что то завтыкал, а есть пример использования в бцл?
хз) я могу тебе пример использования в пульсаре показать)
Vladimir
ну вот например https://github.com/apache/pulsar/blob/branch-2.6/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/Authentication.java
Vladimir
как я понимаю такие интферфейсы посути депрекейтят абстрактные классы для случаев когда там нету полей
Андрей
наследование зло
noname
почему? без наследования не будет типов. только прототипы
Roman
почему? без наследования не будет типов. только прототипы
ну не зло, но для большинства задач, в которых его используют, оно так себе подходит. Много негативных побочных эффектов несет в себе
Anatoly
попользовал тайп провайдеры
Anatoly
вроде понравилось
Ayrat
с почином
Ayrat
а какой пользовал?
Anatoly
Ayrat
а где тут ТП?
Anatoly
bs - это не bullshit, а BootStrap
Anatoly
type bs = CssClasses<"https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css">
Ayrat
ааа
Ayrat
прикольно, не знал что есть цсс тп
Ilya
Ого, и такое есть.
Anatoly
я продолжаю то самое ненужное глюкало полировать, отрабатывая разные технологии
Anatoly
если честно, впечатления смешанные
Ayrat
давай жги
Vladislav
самая сложная спецификация
Anatoly
ну вот скриншот, если посмотреть на количество `` {{ $ и прочих спецсимволов, то похоже на перл
Anatoly
земля пухом
https://github.com/zanaptak/TypedCssClasses
Anatoly
это только для классов, так что мне норм
Ilya
Я недавно на фшарпе написал $"%04d{i}" и задумался.
Anatoly
Я недавно на фшарпе написал $"%04d{i}" и задумался.
не сильно от додиеза отличается, если надо формат не по дефолту
Vladislav
https://github.com/zanaptak/TypedCssClasses/blob/main/src/Utils.fs#L210
Anatoly
https://github.com/zanaptak/TypedCssClasses/blob/main/src/Utils.fs#L210
АААААААААААААААААААААААААААААААААААА
Anatoly
давай жги
к слову, возможно, если бы не подсветка от райдера, были бы другие впечатления
Vladislav
Ну у тебя там список на списках поэтому перл
Андрей
Vladislav
Да он регулярку загуглил, но видимо про anglesharp ему не говорили
Ilya
Интересно, будет быстрее с англешарпом?
Anatoly
Ну у тебя там список на списках поэтому перл
не, потому что я забыл передать naming параметр в тайппровайдер
Anatoly
type bs = CssClasses<"https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css", Naming.Underscores>
Anatoly
и стало сразу сильно лучше
Anatoly
Ayrat
а еще можно штуки вида a |> b делать как b a
Aleksander
а нет чего-нибудь типа _classes [bs.btn; bs.btn_primary] ? чтобы несколько классов в строку самому не собирать каждый раз
Aleksander
ну вот чтобы _classes тебе сам строку и конкатенировал
Ayrat
там нельзя на рандоме пихать что-то в коллекцию
Anatoly
а еще можно штуки вида a |> b делать как b a
можно, но в данном случае мне так нравится. потому что важно, что это строка, а |> str - это придаток для типизации
Anatoly
ну вот чтобы _classes тебе сам строку и конкатенировал
это разные библиотеки, так-то наверно можно
Anatoly
но имеет ли смысл?
Anatoly
потому что без тайп-провайдера, выглядело бы просто: _class "btn btn-primary"
Aleksander
можно наверное и самому написать let _classes classes =_class <| String.concat " " classes ... _classes [ "my_class"; "my_other_class"] ...
Vladislav
каким образом можно согнуть rectangle в дугу? мне сказали с помощью класса transform можно, я почитал, либо не понял, что прочитал, либо там нет такого
Vladislav