在scala中定义带有两个含义的变量

Shi*_*nsh 6 scala scala-implicits

我在scalaLang的Twitter上发现了一篇有趣的帖子.此代码编译和工作的位置

class A(implicit implicit val b: Int) 

val objA = new A()(42)
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下它是如何工作的?我阅读了implicits的文档,但没有找到这样的案例.请解释一下这里发生了什么.

任何帮助表示赞赏!

Ale*_*nov 2

您可以implicit在类或方法的最后一个参数列表之前,也可以在类或特征的任何成员之前。这只是将两者结合起来,这可能是合法的,只是因为禁止它会使语言规范和解析器稍微复杂一些,但没有真正的好处。我认为没有任何理由使用它或与编写implicit一次有任何区别。