我想定义一个像这样的函数
def showList(items: Seq[_ : Show]) = {...}
Seq
的类型参数是具有上下文绑定Show
因此我可以致电showList(Seq(1, "abc"))
。
如何申报方法?
答案 0 :(得分:0)
def showList[A: Show](items: Seq[A]) = { ... }
或更明确(具有直接提供类型类实例的优点)
def showList[A](items: Seq[A])(implicit ev: Show[A]) = { ... }
对于特定情况,由于scala集合是单态的,因此您需要Show[Any]
个实例。