即使顯式調用該函數,爲什麼下面的隱式轉換不起作用?爲什麼在顯式轉換工作時,此Scala隱式轉換失敗?
scala> implicit def view[A, C](xs: C)(implicit ev: C <:< Iterable[A]) = new { def bar = 0 }
view: [A, C](xs: C)(implicit ev: <:<[C,scala.collection.immutable.Iterable[A]])java.lang.Object{def bar: Int}
scala> List(1) bar
<console>:147: error: Cannot prove that List[Int] <:< scala.collection.immutable.Iterable[A].
List(1) bar
^
scala> view(List(1)) bar
res37: Int = 0
我把你的代碼放到scala eclipse IDE中,並且它失敗了三次 - 值視圖不是AnyRef的成員(def bar:Int)注意:隱式視圖在這裏不適用;標識符預期但'['找到;未找到:輸入錯誤。 – 2015-05-07 09:38:20