scala - Scala 案例模式是一等的吗?

标签 scala pattern-matching first-class

是否可以将案例模式作为参数传递给其他函数?像这样的东西:

def foo(pattern: someMagicType) {
  x match {
    pattern => println("match")
  }
}

def bar() {
  foo(case List(a, b, c))
}

最佳答案

所以你想将一个模式匹配块传递给另一个函数?这可以通过 PartialFunction 来完成s,如下例所示:

def foo(f:PartialFunction[String, Int]) = {
  f("")
}

foo {
  case "" => 0
  case s => s.toInt
}

关于scala - Scala 案例模式是一等的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986531/

相关文章:

scala - Scala运算符#>导致编译错误,但不会导致编译错误->为什么?

scala - 匹配可能不是详尽的警告是不正确的

function - 在 JVM 中分配大量 PermGen 空间时,Scala 中的一等函数能否成为一个问题?

language-agnostic - 类型作为一等对象有什么好处?

python - 如何让 Python 2 的 __getitem__ 在一个类上工作?

scala - 是否可以将 Spark ML CrossValidatorModel 应用到 Flink Streaming 数据流中?

scala - elastic4s:rawQuery 得分保持在 1

scala - 是否可以在 Scala 中打印函数的定义

javascript - 在两个(或更多)数组中查找匹配的单元格序列的最有效方法是什么?

mysql - 如何在 MySQL 中按字符串模式收集行?