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 }
Attributes
- Companion
- trait
- Source
- PartialFunction.scala
- Graph
-
- Supertypes
- Self type
-
PartialFunction.type
Members list
Type members
Classlikes
Attributes
- Source
- PartialFunction.scala
- Supertypes
- Self type
-
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.
Type parameters
- A
-
the type of the value to test
Value parameters
- pf
-
the partial function
- x
-
the value to test
Attributes
- Returns
-
true, iff
xis in the domain ofpfandpf(x) == true. - Source
- PartialFunction.scala
Applies the function to the given value if defined, and returns the result in a Some; otherwise, returns None.
Applies the function to the given value if defined, and returns the result in a Some; otherwise, returns None.
Type parameters
- A
-
the type of the value to test
- B
-
the result type of the partial function
Value parameters
- pf
-
the partial function to apply
- x
-
the value to test
Attributes
- Returns
-
Some(pf(x))ifpf isDefinedAt x,Noneotherwise. - Source
- PartialFunction.scala
The partial function with empty domain. Any attempt to invoke empty partial function leads to throwing scala.MatchError exception.
The partial function with empty domain. Any attempt to invoke empty partial function leads to throwing scala.MatchError exception.
Type parameters
- A
-
the argument type of the partial function
- B
-
the result type of the partial function
Attributes
- Source
- PartialFunction.scala
Converts an ordinary function to a partial function. Note that calling isDefinedAt(x) on this partial function will return true for every x.
Converts an ordinary function to a partial function. Note that calling isDefinedAt(x) on this partial function will return true for every x.
Type parameters
- A
-
the argument type of the function
- B
-
the result type of the function
Value parameters
- f
-
an ordinary function
Attributes
- Returns
-
a partial function which delegates to the ordinary function
f - Source
- PartialFunction.scala