0

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

def setupMocks(isChild: Boolean = false): Unit

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

setupMocks(_)

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

setupMocks()

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

4

1 回答 1

3

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

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

第二个例子是一个普通的方法调用,用isChild=false.

于 2020-12-17T00:43:09.390 回答