Ayrat
Надо сказать что студия и райдер отлично прожовывают этот йоба солюшн. Мой любимый вс код сдаётся
Ayrat
привыкаю к райдеру
Vladislav
2019 студию попробуй, она пошустрее 17
Ayrat
Я зарёкся превью ставить
Ayrat
она как рак, потом хер проапгрейдишь или удалишь
Vladislav
у студии нормальное превью жеж
Ayrat
у меня был плохой экспириенс!
Andrew
https://xyncro.tech/aether/guides/lenses.html ?
Тоже сойдет, спасибо) Уже свой пример написал
Ayrat
Тоже сойдет, спасибо) Уже свой пример написал
https://twitter.com/kot_2010/status/1088070793660112896
Vladislav
жду реализации того пропозала как 2 пришествия
Ayrat
Но вообще Вася тут намеренно увеличил кол-во отступов и напиздел что от изменения имён код сломается (из-за отступов)
Andrew
Та даже если отступы не по уебански расставить
Andrew
4 строчки кода)
Andrew
И каждый раз тянуть весь путь
Ayrat
согласен, это ужасно
Ayrat
@aneteanetes
Ayrat
мир скалиста
Ayrat
Скала не такая уж и заебатая
Ayrat
это не повод привыкать к интересному поведению
Vladislav
Но вообще Вася тут намеренно увеличил кол-во отступов и напиздел что от изменения имён код сломается (из-за отступов)
но код со вложенными апдейтами все равно выглядит как срака даже с норм отступами
Vasiliy
мир скалиста
А не сильно ли много тут идет округление?
Vasiliy
ну вообще да. Это жи дикое расхождение идет.
Ayrat
если кому интересно, это вот этот видос https://www.youtube.com/watch?v=uiJycy6dFSQ
Andrew
мир скалиста
Что то заорал Только последнее не понял с чего орать
Andrew
Это кстати тоже)
Ayrat
в нормальных языках С ДЖЕНЕРИКАМИ
Andrew
Вроде норм
Ayrat
мамка не скомпилится
Andrew
А
Ayrat
ты пытаешься СТРИНГИ поискать в ТИПЕ с ИНТАМИ
Andrew
Я просто когда вижу такую поебень сразу вспоминаю жс
Andrew
Где это норма
Andrew
А, это типо сумма для дженериков определяется суммой хешкодов?
Ayrat
там слишком заумно. Если вдруг коллизия хешей, то внезапно ты получишь не сумму двух одинаковых, а только один
Andrew
Понял
Ayrat
например лист из двух единичек (у которых хеши единичка), эта херота вернёт сумму хешей 1
Ayrat
а не 2
Ayrat
Ну с числами)))
Ayrat
постоянная
Ayrat
интежеры типа мапятся хешкод имени себя
Ayrat
там проблема про другое!
Ayrat
а почему он ищет мамку?)
Ayrat
это примеры, которые показывают что в скале есть проблемы
Andrew
Ну меня сбило с толку что это какой то ебаный лайфхак
Andrew
Чтобы суммировать сами числа
Ayrat
поясню за суть проблемы
Ayrat
если бы ты такое написал в дотнете
Andrew
а почему он ищет мамку?)
Потому что приемный 🌚
Ayrat
заменив Iterable на IEnuemrable
Ayrat
ты бы ожидал что всё будет работать корректно?
Ayrat
ну типа let sumHashes someSeq = someSeq |> Seq.map hash |> Seq.sum
Ayrat
можно сразу Seq.sumBy hash
Andrew
Ну да
Ayrat
но мы допустим что мы один в один передираем
Andrew
Получил бы сумму хешей
Ayrat
ТАК ВОТ В СКАЛЕ
Ayrat
если ты подаёшь на вход Set
Ayrat
то ты получаешь не IEnumerable.map
Ayrat
а Set.map
Ayrat
который строит Set из хешей
Ayrat
а потом их суммирует
Ayrat
т.е. Set подходит по интерфейсу в эту функцию, но дальше вызывается не Iterable.map, а Set.map
Ayrat
для всех прочих классов, та же проблема.
Ayrat
короче, неочевидный пиздец можно схватить на ровном месте
Ayrat
а всё потому что генериков в скале нет. В рантайме невозможно догадаться куда чо надо привести, поэтому он просто берёт map из того класса, который был подан. Интерфейс тут так, для вида
Ayrat
генериков в рантайме я имел в виду
Ayrat
в самой скале и джаве на уровне языка, они конечно есть
Andrew
Теперь все встало на свои места
Andrew
С затиранием дженериков