object Test extends App {
def print(s: String)(implicit p: Prefixer) = {
println(p.prefix + s)
}
print("test")
}
case class Prefixer(prefix: String)
object Prefixer {
implicit val p = Prefixer("***")
}
上面的代码无法编译,因为编译器无法找到 Prefixer 的隐式值。但是,如果我将案例类 Prefixer 和伴随对象放在另一个文件中,它就可以工作。这是为什么?