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 }
- Companion:
- class
- Source:
- PartialFunction.scala
Type members
Classlikes
Value members
Concrete methods
A Boolean test that is the result of the given function where defined, and false otherwise.
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:
- pf
the partial function
- x
the value to test
- Returns:
true, iff
x
is in the domain ofpf
andpf(x) == true
.- Source:
- PartialFunction.scala
Apply the function to the given value if defined, and return the result
in a Some
; otherwise, return None
.
Apply the function to the given value if defined, and return the result
in a Some
; otherwise, return None
.
- Value parameters:
- pf
the PartialFunction[T, U]
- x
the value to test
- Returns:
Some(pf(x))
ifpf isDefinedAt x
,None
otherwise.- Source:
- PartialFunction.scala
The partial function with empty domain.
The partial function with empty domain. Any attempt to invoke empty partial function leads to throwing scala.MatchError exception.
- Source:
- PartialFunction.scala
Converts an ordinary function to a partial function.
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:
- f
an ordinary function
- Returns:
a partial function which delegates to the ordinary function
f
- Source:
- PartialFunction.scala