【发布时间】:2015-11-23 20:43:36
【问题描述】:
我正在查看 Sorting.scala 的源代码,并对 源sn-p中最后一个方法的定义如下。
object Sorting {
/** Quickly sort an array of Doubles. */
def quickSort(a: Array[Double]) { sort1(a, 0, a.length) }
/** Quickly sort an array of items with an implicit Ordering. */
def quickSort[K: Ordering](a: Array[K]) { sort1(a, 0, a.length) } //<<??
类型参数“K”似乎被限制为一个子类型(也许?) 'Ordering'...但我从未见过这种语法。
我会有点(不是双关语)理解如果 该方法的定义如下:
def quickSort[K <% Ordering[K]](a: Array[K]) { sort1(a, 0, a.length) }
但我对只有冒号的约束的含义感到困惑。任何指向相关文档或进一步(解释)示例的链接都会很棒。
提前谢谢...
【问题讨论】:
-
查看What are Scala context and view bounds?。视图边界已弃用。
标签: scala type-parameter parameterized-types