Size: a a a

Scala User Group

2020 May 22

Oℕ

Oleg ℕizhnik in Scala User Group
и дать этому типу ещё какое-то имя
источник

NV

Nikita Vilunov in Scala User Group
Python
А он не наследник. Там в Context[F] может быть больше или другие методы.
Да, ничто не мешает ему стать наследником, но скрывать фактический класс за его типом. Точно так же класс-имплементация стдлибовских футур имплементит и Promise[T] и Future[T], но наружу выставляется только один из трейтов
источник

NV

Nikita Vilunov in Scala User Group
Python
Допустим у меня есть такой код:
trait Service[F[_]]
trait Context[F[_]]
object Service {
 def of[F[_]](globalThing: GlobalThing[F]): (Service[F], Context[F])
}
То есть на каждый новый экземпляр Service[F] я хочу отдавать какой-то интерфейс, который относится к нему, но совершенно необязательно имеет подмножество его фукнциональнсости (напирмер Context[F] умеет удалять Service[F] из глобального хранилища в GlobalThing[F], про которое Service[F] сам ничего не знает).

Есть ли какие-то готовые способы это делать кроме как тупо возвращать два типа? Какие-то идеи у меня есть, но не хочу изобрести велосипед.
А ещё если задачей стоит контроль цикла жизни сервиса, то стоит глянуть в сторону Resource[F, Service[F]]
источник

P

Python in Scala User Group
Спасибо
источник

C

Combot in Scala User Group
Добро пожаловать в самое дружелюбное комьюнити.
источник

LS

Lookuut Struchkov in Scala User Group
Всем 👋🏻 ребята подскажите пожалуйста, как из коллекции получить коллекцию которая удовлетворяют условию и не удовлетворяют за один проход ?

Tuple2(Collections.filter(cond), Collections.filterNot(cond))
Как вот этот кусок выполнить за один проход? В функциональном стиле?
источник

D

Deλ✨ in Scala User Group
Lookuut Struchkov
Всем 👋🏻 ребята подскажите пожалуйста, как из коллекции получить коллекцию которая удовлетворяют условию и не удовлетворяют за один проход ?

Tuple2(Collections.filter(cond), Collections.filterNot(cond))
Как вот этот кусок выполнить за один проход? В функциональном стиле?
List.partition
источник

LS

Lookuut Struchkov in Scala User Group
Deλ✨
List.partition
😍 спасибо большое
источник
2020 May 23

DP

Daniil Prohorov in Scala User Group
ребят, всем привет! Вот есть у меня кейс класс с иммутабельными полями, мне надо пересоздать этот кейскласс изменив одно поле, как это можно сделать по нормальному?
источник

R

RattenKonig 🍄🌹 in Scala User Group
используй метод copy
источник

SK

Sergey Kucherenko in Scala User Group
Daniil Prohorov
ребят, всем привет! Вот есть у меня кейс класс с иммутабельными полями, мне надо пересоздать этот кейскласс изменив одно поле, как это можно сделать по нормальному?
с помощью оптик, например, https://www.optics.dev/Monocle/
источник

DP

Daniil Prohorov in Scala User Group
RattenKonig 🍄🌹
используй метод copy
Спасибо! Оптики выглядят на моем этапе пока перебором
источник

C

Const in Scala User Group
чего только люди не придумают
источник

D

Deλ✨ in Scala User Group
в интернете все такое смешное
источник

SK

Sergey Kucherenko in Scala User Group
Всё верно, если один раз один класс, то оптики оверкилл. Более того, можно, скажем, полгода счастливо писать на скале и не чувствовать никакой потребности в них, это зависит от паттернов моделирования предметной области и от стиля написания. Если задачи решать путём описания данных и трансформаций между ними, то рано или поздно необходимость в оптиках сама вылезает и те - внезапно - оказываются чисто практической штукой
источник

IP

Ilya Petrov in Scala User Group
И тут как раз под рукой оказываются tofu optics
источник

SK

Sergey Kucherenko in Scala User Group
у кого как, бывает и так, что оказывается, что на дворе 2012-й, Олег еще не знает, что в далекой Японии есть замечательный экологичный продукт тофу и еще выбирает название, так что приходится обходиться тем, что julien truffaut послал либо изображать из подручных материалов
источник

SK

Sergey Kucherenko in Scala User Group
хорошо сейчас, конечно
источник

SK

Sergey Kucherenko in Scala User Group
хотя 2012... меняю тофу на 2012
источник

VG

Vladislav Golub in Scala User Group
Краткое пособие по тому как отбить человеку желание изучать скалу
источник