【发布时间】:2022-01-01 10:36:33
【问题描述】:
我试图创建一个简单的扩展方法zipWith,它只是将集合C[A] 映射到C[(A, B)],如下所示:
List(1,2,3) zipWith (_ * 2)
// List((1,2), (2,4), (3,6))
我试过这个:
scala> extension[A, C[_] <: Iterable[_]] (s: C[A]) def zipWith[B](f: A => B): C[(A, B)] = s map ((x) => (x, f(x)))
-- Error:
1 |extension[A, C[_] <: Iterable[_]] (s: C[A]) def zipWith[B](f: A => B): C[(A, B)] = s map ((x) => (x, f(x)))
| ^
| Found: (x : Any)
| Required: A
我错过了什么?
【问题讨论】: