gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:45:15 25 4
gpt4 key购买 nike

我对类有以下定义:

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。将其从 map 定义中删除:

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)
}

关于scala - 如何使用类型参数的Scala边界访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40749268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com