如何使用类型参数的scala边界访问方法

如何使用类型参数的scala边界访问方法,scala,compiler-errors,bounds,type-parameter,Scala,Compiler Errors,Bounds,Type Parameter,我对类有以下定义: class Pipe[ A ]( a: A ) { def |>[ B ]( f: A => B ) = f( a ) def map[A, B, C](f: C => B)(implicit ev: A =:= List[C]): Seq[B] = { a.map(f) } } 上面的类在map方法中编译时没有出现以下错误: value map is not a member of type parameter A 我试过两种方法,但都不管用。

我对类有以下定义:

class Pipe[ A ]( a: A ) {
  def |>[ B ]( f: A => B ) = f( a )
  def map[A, B, C](f: C => B)(implicit ev: A =:= List[C]): Seq[B] = { a.map(f) }
}
上面的类在
map
方法中编译时没有出现以下错误:

value map is not a member of type parameter A
我试过两种方法,但都不管用。如何定义
map
方法,以便
a:a
是一个序列,因此可以使用map方法


TIA。

您正在隐藏类型参数A。请将其从地图定义中删除:

class Pipe[ A ]( a: A ) {
    def |>[ B ]( f: A => B ) = f( a )
    def map[B, C](f: B => C)(implicit ev: A =:= List[B]): Seq[C] = a.map(f)
}