Что означает _ в этом методе, который уже принимает значение по умолчанию?

Я работаю над набором тестов, в котором есть вспомогательный метод, например:

      def setupMocks(isChild: Boolean = false): Unit

и в некоторых тестах он вызывается как:

      setupMocks(_)

тогда как в других тестах он вызывается как:

      setupMocks()

Что это _делать здесь? Каково значение? Я попробовал отладчик, но он просто пропускает, и я не могу понять это.

1 ответ

Поскольку есть параметр по умолчанию, вы можете рассматривать его как метод с параметрами 1 и 0 (вроде).

Символы подчеркивания в основном являются заполнителями для параметров функции. setupMocks(_)является сокращением для x => setupMocks(isChild=x). См. Каковы все виды использования подчеркивания в Scala?.

Второй пример — это простой вызов метода, вызывающий с помощью isChild=false.

Другие вопросы по тегам