假设我想将 ExecutionContext
作为参数显式传递给方法,但想在该方法的主体中隐式使用该上下文。我可以使用以下简单的代码片段来实现这一点:
def run(foo: Unit => Unit,
ex1: ScheduledExecutorService) {
import scala.concurrent.duration._
implicit val ex2 = ex1
scheduleAtFixedRate(foo, 1.seconds, 3.seconds) // pass ex2 implicitly, not explicitly
}
有没有办法在不将
ex1
重新分配给 ex2
的情况下做到这一点,但仍然需要明确传递参数? 最佳答案
不可以。如果您想要求显式传入参数,在函数体内隐式使用它的唯一方法是将其重新分配给隐式变量。然而,为什么你会想要这样做违背了我的推理。
关于scala - 在 Scala 中,隐式使用参数,但不要隐式传递它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23876436/