Что означает этот синтаксис scala? - PullRequest
0 голосов
/ 07 марта 2019

Может ли кто-нибудь объяснить, что означает (p: Char => Boolean)? Как я могу использовать такой параметр?

def search(p: Char => Boolean): Boolean = {

}

Ответы [ 3 ]

6 голосов
/ 07 марта 2019

Это означает, что p - это функция, которая принимает Char и возвращает Boolean.Например, если у вас есть Char в переменной с именем c, вы можете сделать p(c), и результатом будет Boolean.

4 голосов
/ 07 марта 2019

Ниже приведен тривиальный пример того, как можно выполнить search с аргументом Char => Boolean:

case class Message(msg: String) {
  def search(p: Char => Boolean): Boolean = {
    msg.exists(p)
  }
}

val isVowel: Char => Boolean = c => "AEIOUaeiou".contains(c)
// isVowel: Char => Boolean = <function1>

Message("abcde").search(isVowel)
// res1: Boolean = true

Message("vwxyz").search(isVowel)
// res2: Boolean = false
3 голосов
/ 07 марта 2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...