3
在訂貨特點我們可以發現這種隱含的方法:Implicits在訂貨
/** This implicit method augments `T` with the comparison operators defined
* in `scala.math.Ordering.Ops`.
*/
implicit def mkOrderingOps(lhs: T): Ops = new Ops(lhs)
而且在同伴對象Ordering.Implicits可以發現:
/** This implicit creates a conversion from any value for which an
* implicit `Ordering` exists to the class which creates infix operations.
* With it imported, you can write methods as follows:
*
* {{{
* def lessThan[T: Ordering](x: T, y: T) = x < y
* }}}
*/
implicit def infixOrderingOps[T](x: T)(implicit ord: Ordering[T]): Ordering[T]#Ops = new ord.Ops(x)
這是第二隱真的有必要嗎?在什麼情況下,應該使用第一個隱含的,在什麼情況下應該使用第二個?
謝謝。