我发现了非常有趣的类型变量。
def f[A: B, C](a: A)
class B
您可以将其视为A: B
。这种类型用冒号分隔。但是这是什么意思?这是某种同义词吗?我在哪里可以使用它?
答案 0 :(得分:3)
这是一个上下文绑定。 E.g。
def f[A: Ordering](a: A)
需要定义Ordering[A]
。实际召唤Ordering[A]
使用implicitly[Ordering[A]]
。
来源:http://docs.scala-lang.org/tutorials/FAQ/context-and-view-bounds.html