我正在开发一个具有辅助方法的测试套件,例如:
def setupMocks(isChild: Boolean = false): Unit
在某些测试中,它被调用为:
setupMocks(_)
而在其他测试中,它被调用为:
setupMocks()
在这里做什么_
?有什么意义?我确实尝试了调试器,但它只是跳过了,我无法弄清楚这一点。
我正在开发一个具有辅助方法的测试套件,例如:
def setupMocks(isChild: Boolean = false): Unit
在某些测试中,它被调用为:
setupMocks(_)
而在其他测试中,它被调用为:
setupMocks()
在这里做什么_
?有什么意义?我确实尝试了调试器,但它只是跳过了,我无法弄清楚这一点。
因为有一个默认参数,所以您可以将其视为具有 1 和 0 参数的方法(有点)。
下划线基本上是函数参数的占位符。setupMocks(_)
是 的简写x => setupMocks(isChild=x)
。请参阅Scala 中下划线的所有用途是什么?.
第二个例子是一个普通的方法调用,用isChild=false
.