s.map{ e => if(f(e)) transform(e) else e }
У меня довольно много val s: List[Int] = //...
, функция f: Int => Boolean
и функция transform: Int => Int
.
Проблема : я хочучтобы создать еще одинList[Int]
такойчто все элементыe: Int
изs: List[Int]
такихкоторыеf(e) = true
заменяютсяtransform(e)
.
Я посмотрел на FunctorEmpty-mtl FunctorEmpty
(придерживаясь стиля функционального программирования), но, похоже, это не работает в моем случае. Может быть, некоторые cats
/ scalaz
структуры данных могут быть полезны здесь? Или любым другим способом?
scala,list,functional-programming,scalaz,scala-cats,
s.map{ e => if(f(e)) transform(e) else e }