【发布时间】:2014-04-09 20:45:06
【问题描述】:
我正在阅读应该像类型类一样工作的上下文边界和隐式参数。我看到的例子经常使用Ordering[T]。比如:
foo[T : Ordering](a: T, b: T)
这是糖
foo[T](a: T, b: T)(implicit ord: Ordering[T])
所以在体内你可以做类似的事情
ord.compare(a, b)
我以为我以前明白这一点,现在我在画一个空白......比简单的优势是什么 将事物传递给函数。例如:
foo[T](a: T, b: T, ord: Ordering[T])
/* or */ foo[T](a: T, b: T)(ord: Ordering[T])
foo(a, b, myOrdering)
/* or */ foo(a, b)(myOrdering)
【问题讨论】:
-
因为它是隐式的。您不必显式传递给其他隐式参数。
标签: scala implicits context-bound