Size: a a a

Scala User Group

2020 November 29

В

Влад in Scala User Group
А, я вообще понял, что оригинальный вопрос человек задавал "как проверить entityType...".
Я подумал, что интересная часть тут, как не писать явный match Int -> EntityType
источник

AS

Aλexander Semenov in Scala User Group
И выкинуть эту java.io.InputStream шелуху из модели.
источник

В

Влад in Scala User Group
Aλexander Semenov
def fold[A](onWall: => A, onHouse: => A): A =
 this match {
   case Wall => onWall
   case House => onHouse
 }
Не ожидал бы такой сигнатуры от fold :)
источник

В

Влад in Scala User Group
Привык, что fold - это про коллекции.
источник

AS

Aλexander Semenov in Scala User Group
fold - это свёртка чего угодно
источник

AS

Aλexander Semenov in Scala User Group
см. также Either.fold
источник

В

Влад in Scala User Group
Aλexander Semenov
см. также Either.fold
Да уж, действительно, спасибо
источник

AD

Apache DOG™ in Scala User Group
Влад
Привык, что fold - это про коллекции.
Either и Option тоже можно рассматривать как коллекции
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Apache DOG™
Either и Option тоже можно рассматривать как коллекции
но фолд не только про коллекции, коллекции тут частный случай
источник

ΑZ

Αλεχ Zhukovsky in Scala User Group
Closure
Две последние проблемы не решает)
Что плохого в нпм?
источник

ΑZ

Αλεχ Zhukovsky in Scala User Group
Eugene Bosiakov
У меня был опыт, когда написал 250 строк на Vanilla JS. Потом из интереса переименовал в .ts и разметил функции типами - сразу же нашел почти 10 багов, которые не всплывали чудом. Но возможно я просто плох в ваннилажс
Был точно такой же опыт, только 150 строк и 3 бага
источник

ΑZ

Αλεχ Zhukovsky in Scala User Group
Apache DOG™
А если серьезно, не мешает оно до тех пор пока все помнят что происходит в коде и где какая логика. Ну и когда разработчики, требования, версии либ сменяются по несколько раз большая часть неявных контрактов выветривается из голов команды, и получается что как оно точно работает никто не знает, а разобраться нельзя, у нас же динамика, ты не можешь попрыгать по декларациям в идее, ибо их просто нет. Конечно с этим можно жить, можно делать аппендонли всякие там латки-прослойки-перехватчики костылятчики, но после определенного предела разобраться в этом становится невозможно вообще, и дешевле переписать все чем добиться нормальной работы какой - то там фичи.
Ну и переписывают же) и го на коне
источник

EB

Eugene Bosiakov in Scala User Group
Αλεχ Zhukovsky
Что плохого в нпм?
Очень медленный, yarn раза в 4 быстрее
источник

EB

Eugene Bosiakov in Scala User Group
Но возможно в последних версиях уже догнал
источник

EB

Eugene Bosiakov in Scala User Group
У нпм не было конкурентов, в итоге развитие почти остановилось и он стал синонимом тормозов
источник

ΑZ

Αλεχ Zhukovsky in Scala User Group
Eugene Bosiakov
Очень медленный, yarn раза в 4 быстрее
Хз, медленность понятие относительное, тем более что не так часто с нуля надо собирать. Вряд ли у разработчика бомбит что на сиае чутка дольше собирается
источник

G

Glin in Scala User Group
Aλexander Semenov
И выкинуть эту java.io.InputStream шелуху из модели.
а что с ней не так?
источник

G

Glin in Scala User Group
Oleg ℕizhnik
так как вы пользуетесь case object, вы так и можете писать в патерн-матчинге

{
 case Wall =>
 case House =>

обращаю внимание, что именование с заглавной буквы, а не полностью апперкейс является в scala принятым.


Мало того, задачи для енумерейшенов с числовыми кодами можно упростить с помощью библиотеки enumeratum

https://github.com/lloydmeta/enumeratum#valueenum
спасибо
источник

AS

Aλexander Semenov in Scala User Group
Glin
а что с ней не так?
Это ввод-вывод внутри определения классов модели, оно там не нужно. Не говоря уже о том, что это legacy api, и использовать его вообще не стоит (если это конечно не лаба).
источник

λ

λoλcat in Scala User Group
Fold это про BB-encoding структур данных
источник