找不到Scala隐式参数
我正在尝试编写此找不到Scala隐式参数,scala,implicit,Scala,Implicit,我正在尝试编写此对象: object Timed { def apply[T](fn: => T)(implicit logger: Logger): T = measureDuration(Thread.currentThread().getStackTrace.last.getMethodName, TimeUnit.MILLISECONDS, fn, logger) } 我想这样做(在另一个类中): 一切似乎都在范围内(相同的包),但我始终得到: could not f
对象
:
object Timed {
def apply[T](fn: => T)(implicit logger: Logger): T =
measureDuration(Thread.currentThread().getStackTrace.last.getMethodName, TimeUnit.MILLISECONDS, fn, logger)
}
我想这样做(在另一个类中
):
一切似乎都在范围内(相同的包),但我始终得到:
could not find implicit value for parameter logger: org.slf4j.Logger
Timed { someFunction() }
我获得这项工作的唯一方法,基本上是不使用隐式:
Timed { someFunction() }(logger)
工作-这显然违背了目的
我遗漏了什么???在
val logger
之前,您遗漏了隐式
关键字,如果您愿意,您甚至可以将其移动到定时对象中。谢谢!它与val logger
之前的隐式
一起工作。使用。数组上的最后一个
是一个代码smell@cchantep-真的吗?我不知道为什么?哦-数组可能是空的?
Timed { someFunction() }(logger)