2
をトリガしません。 。以下では正常に動作します:はなぜ暗黙のはのは、私が(ファンクタのような)いくつかのタイプのクラスを実装する必要がありトレイト、でいくつかのタイプを定義するとしましょう。このタイプの依存パスのシナリオで
trait LibraryUser {
val l: Library
import l._
def use: T[Boolean] = {
val t: T[Int] = ???
t.map(_ => true)
}
}
しかし、その代わりにパラメータでの方法でそれを使用した場合、暗黙的のインポートが機能していない(コメントアウト行はコンパイルされません)、あなたがのために暗黙的に記述する必要があります
object LibraryUser1 {
def use(l: Library): l.T[Boolean] = {
import l._
val t: T[Int] = ???
//t.map(_ => true)
toFunctorOps(t)(isFunctor).map(_ => true)
}
}
なぜこのようなケース/それに対して行うことができますか?