Что означает _ в этом методе, который уже принимает значение по умолчанию?
Я работаю над набором тестов, в котором есть вспомогательный метод, например:
def setupMocks(isChild: Boolean = false): Unit
и в некоторых тестах он вызывается как:
setupMocks(_)
тогда как в других тестах он вызывается как:
setupMocks()
Что это
_
делать здесь? Каково значение? Я попробовал отладчик, но он просто пропускает, и я не могу понять это.
1 ответ
Поскольку есть параметр по умолчанию, вы можете рассматривать его как метод с параметрами 1 и 0 (вроде).
Символы подчеркивания в основном являются заполнителями для параметров функции.
setupMocks(_)
является сокращением для
x => setupMocks(isChild=x)
. См. Каковы все виды использования подчеркивания в Scala?.
Второй пример — это простой вызов метода, вызывающий с помощью
isChild=false
.