Scala中用冒号分隔的两种类型

时间:2015-10-17 16:39:16

标签: scala type-systems

我发现了非常有趣的类型变量。

def f[A: B, C](a: A)
class B 

您可以将其视为A: B。这种类型用冒号分隔。但是这是什么意思?这是某种同义词吗?我在哪里可以使用它?

1 个答案:

答案 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