这种scala语法是什么意思?

时间:2019-03-07 03:08:38

标签: scala functional-programming

有人可以解释一下(p:Char => Boolean)的意思吗?我该如何使用这样的参数?

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

}

3 个答案:

答案 0 :(得分:6)

这意味着p是一个接受Char并返回Boolean的函数。例如,如果您在名为Char的变量中包含一些c,则可以执行p(c),结果将是Boolean

答案 1 :(得分:4)

下面是一个简单的示例,说明如何使用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

答案 2 :(得分:3)