gavr_sas – Telegram
gavr_sas
216 subscribers
2.68K photos
185 videos
28 files
788 links
JB пропаганда
Download Telegram
Как все таки печально когда в языке нет неймспейсов и их приходится присобачивать к названиям классов(
Скажем привет самой консистентной UX системе
кто зайдет штраф 30 минут жизни
https://floor796.com/?render=2#t3r1,376,553
👍2
1) Цель заменить вот этот if сделав аналог also, но с проверкой на нулл и сужением типа
2) Ну вроде ничего сложного, расширяем нуллабл дженерик тип T функцией ifNotNullDo, принимающей лямбду от не нуллабл T, и возвращающей нуллабл T.
Внутри просто выполняем полученную лямбду только если T не нулл.
3) Готово, тип внутри лямбды действительно сузился с String? до String. Помойму прям красота
#kotlin
Эксперементально выяснил шо жаба от -1 до 5 использует const, а потом int push, странно, от -1 до 5 это 7 байт, чому не использовать от -1 до 6
Берем после работы термос и идем гулять!
2
Есть такая штука в котлине, инлайн классы, это классы с одним проперти, во всех местах использования сам класс будет опущен и будет использоваться только это поле чтобы избавится от оверхеда.
Вот я подумал что если совместить эту фичу с sealed, отнаследовав 2 таких инлайн класса от одного пустого потомка то можно получить настоящее или между двумя типами, вроде string | int, которое возможно в TS, но невозможно, да больше нигде вообщем то.
Но нет, к сожалению inline классы нельзя наследовать #kotlin
PS а вспомнил, это еще можно в Crystal
Но по крайней мере inline классы являются полноценным аналогам distinct типов нима. То есть вот хочу я сделать чтобы path было отдельным типом, не просто path: string, и пихнуть туда можно что угодно, а именно path: Path, но без оверхеда на класс/тип.
Вот inline классы это именно оно. #kotlin
Когда код писали ученые, это сразу бросается в глаза по их любви к матрицам
Забавно, GNOME создает на каждом устройстве корзину, чтобы случайно удаленный файлы можно было восстановить, при отсоединении предлагает ее очистить.
gavr_sas
Когда код писали ученые, это сразу бросается в глаза по их любви к матрицам
Сейчас вот думаю, а может это не такая уж плохая идея, вот есть 5 параметров, и от каждого из них как то меняется ответ, как это можно было сделать лучше, такой же пятимерной вложенностью ифов? Кода было бы сильно больше, а суть таже.