A few handy operations which leverage the extra bit of information available in partial functions. Examples:
import PartialFunction._
def strangeConditional(other: Any): Boolean = cond(other) {
case x: String if x == "abc" || x == "def" => true
case x: Int => true
}
def onlyInt(v: Any): Option[Int] = condOpt(v) { case x: Int => x }
| Supertypes | |
|---|---|
| Self type |
A Boolean test that is the result of the given function where defined, and false otherwise.
It behaves like a case _ => false were added to the partial function.
| Value parameters |
|
|---|---|
| Returns | true, iff |
Apply the function to the given value if defined, and return the result in a Some; otherwise, return None.
| Value parameters |
|
|---|---|
| Returns |
|
The partial function with empty domain. Any attempt to invoke empty partial function leads to throwing scala.MatchError exception.
Converts an ordinary function to a partial function. Note that calling isDefinedAt(x) on this partial function will return true for every x.
| Value parameters |
|
|---|---|
| Returns | a partial function which delegates to the ordinary function |
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/PartialFunction$.html