是否有任何理由使用 f 有界多态性而不是类型类?
它们都解决了编写函数 f(a:A):A
的问题,其中 A
必须支持一组给定的操作(方法)(实现接口(interface)/成为类型类的实例)。
最佳答案
最终用户代码可能会更简单、更短并且看起来更好。
示例:
def first[A](s: Seq[A]): A = s.head
如果 Seq
是类型类,则用户必须编写以下内容:
def first[A, F[_]](s: F[A])(implicit S: Seq[F]): A = S.head(s)
关于scala - 是否有任何理由使用 f 有界多态性而不是类型类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42734086/