我有一个相当大的val s: List[Int] = //...
,一个函数f: Int => Boolean
和一个函数transform: Int => Int
。
问题 :我想创建另一个List[Int]
,以使e: Int
的所有元素s: List[Int]
都{ 1}}替换为f(e) = true
。
我查看了cats-mtl FunctorEmpty
(坚持使用函数式编程风格),但是在我看来,它似乎不起作用。也许某些transform(e)
/ cats
数据结构在这里有用吗?还是其他方式?
答案 0 :(得分:6)
[object Promise]
答案 1 :(得分:0)
List(1, 2, 3).map(fn)
创建一个可能并不完全想要的新列表,尤其是在输入较大的情况下。
另一种解决方案是在视图List(1, 2, 3).view.map(...)
上映射而不创建新列表,并且仅在需要时“物化”结果