在这个已经取默认值的方法中,_是什么意思



我正在开发一个测试套件,它有一个辅助方法,例如:

def setupMocks(isChild: Boolean = false): Unit

在一些测试中,它被调用为:

setupMocks(_)

而在其他测试中,它被调用为:

setupMocks()

_在这里做什么?意义何在?我确实尝试过调试器,但它只是跳过了,我无法弄清楚。

因为有一个默认参数,所以可以将其视为具有1和0参数的方法(kinda(。

下划线基本上是函数参数的占位符。setupMocks(_)x => setupMocks(isChild=x)的简写。请参阅Scala中下划线的所有用途是什么?。

第二个示例是一个普通的方法调用,使用isChild=false进行调用。

最新更新