相关疑难解决方法(0)

使用scala集合 - CanBuildFrom麻烦

我正在尝试编写一个方法,它接受任何类型的集合CC[_]并将其映射到一个新的集合(相同的集合类型,但不同的元素类型),我正在挣扎皇家.基本上我正在尝试实现map不是集合本身.

问题

我正在尝试使用签名实现一个看起来有点像的方法:

def map[CC[_], T, U](cct: CC[T], f: T => U): CC[U]
Run Code Online (Sandbox Code Playgroud)

它的用法是:

map(List(1, 2, 3, 4), (_ : Int).toString) //would return List[String]
Run Code Online (Sandbox Code Playgroud)

我感兴趣的答案也将在哪里工作CCArray我很感兴趣,我尝试(下)都最终没有奏效的原因.


我的尝试

(对于不耐烦的人,在接下来的内容中,我完全没有让它发挥作用.重申一下,问题是"我怎么能写出这样的方法?")

我这样开头:

scala> def map[T, U, CC[_]](cct: CC[T], f: T => U)(implicit cbf: CanBuildFrom[CC[T], U, CC[U]]): CC[U] = 
     | cct map f
                                                             ^
 <console>:9: error: value map is not a member of type parameter CC[T]
       cct map f
           ^
Run Code Online (Sandbox Code Playgroud)

好的,这是有道理的 - 我需要说这 …

collections scala

21
推荐指数
3
解决办法
3456
查看次数

标签 统计

collections ×1

scala ×1