运行以下代码
import shapeless._
final case class Foo(s: String) { println("HELLO") }
object TestApp extends App {
implicit def foo(implicit s: String): Foo = Foo(s)
implicit val s : String = "123"
implicitly[Foo]
implicitly[Foo]
val f1 = implicitly[Cached[Foo]].value
val f2 = implicitly[Cached[Foo]].value
println(f1 eq f2)
}
我假设它会在屏幕上显示 3 个“HELLO”,比较结果是true.
相反,这就是我得到的,
HELLO
HELLO
HELLO
HELLO
false
我对使用方式的理解是否错误Cached?