您可以直接将非隐式 val 作为参数传递给需要隐式的函数吗?

Can you directly pass a non-implicit val as argument to a function expecting an implicit?

请原谅脑子一片空白。

class Bar(implicit foo: Foo)

class Foo {
  implicit val self = this 
  lazy val bar = new Bar
}

我们能否将 Bar 的实例化简化为单个语句,其中 this 非常 明确地 作为构造函数参数?

我的问题也适用于传递任何值,而不仅仅是本例中的 this

构造函数中的隐式参数是此处第二组参数的一部分(第一组为空),因此您可以

val bar = new Bar()(new Foo)