Trait to define the behavior of the result of a Match.
Type parameters
- R
-
the type of the result.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Members list
Value members
Abstract methods
Composition method. If this MatchResult is a success, then return the value of matcher m applied to the result. If this is a Miss, then return this.
Composition method. If this MatchResult is a success, then return the value of matcher m applied to the result. If this is a Miss, then return this.
Type parameters
- S
-
the underlying type of the input to m (S is a super-class of R).
- T
-
the underlying type of the returned value.
Value parameters
- m
-
a call-by-name Matcher of S to T.
Attributes
- Returns
-
a MatchResult[T].
Method to compose this MatchResult with sm. The results of this and of sm are combined into one ~. The ~ method is a synonym of andThen.
Method to compose this MatchResult with sm. The results of this and of sm are combined into one ~. The ~ method is a synonym of andThen.
Type parameters
- S
-
the underlying type of s.
Value parameters
- sm
-
a call-by-name MatchResult[S].
Attributes
- Returns
-
a MatchResult[R ~ S].
FlatMap method. If this is a Match(r), then return f(r). Otherwise, we return an unsuccessful result based on this.
FlatMap method. If this is a Match(r), then return f(r). Otherwise, we return an unsuccessful result based on this.
Type parameters
- S
-
the underlying type of the returned MatchResult.
Value parameters
- f
-
a function of R => MatchResult[S].
Attributes
- Returns
-
MatchResult[S].
Foreach method.
Foreach method.
Value parameters
- f
-
a function of R => Unit.
Attributes
- Returns
-
Unit.
Attributes
- Returns
-
the result of the MatchResult.
- Throws
-
Throwable
(a MatcherException) if this is not a Match.
Alternative form of get such that, in the case of a Miss, the default value given by s will be returned.
Alternative form of get such that, in the case of a Miss, the default value given by s will be returned.
Type parameters
- S
-
a super-class of R.
Value parameters
- s
-
a call-by-name value to be used if this is unsuccessful.
Attributes
- Returns
-
the result of the MatchResult if it's a Match, otherwise return s if it's a Miss.
Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.
Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.
Similar to ~ except that this MatchResult[R] is discarded and not part of the result. In other words, this acts purely as a guard. Synonym: &&.
Type parameters
- S
-
the type of the resulting MatchResult.
Value parameters
- sm
-
the MatchResult that must follow this MatchResult for a successful outcome.
Attributes
- Returns
-
a MatchResult[S].
Identifies this MatchResult with a String. It only takes effect when this is a Miss.
Identifies this MatchResult with a String. It only takes effect when this is a Miss.
Value parameters
- w
-
The input string to be identified and matched.
Attributes
- Returns
-
A
MatchResultrepresenting the result of the identification process.
Inverts the result of the current MatchResult.
Inverts the result of the current MatchResult.
Attributes
- Returns
-
A
MatchResult[R]representing the inverted match outcome.
Alternation method that takes a MatchResult as the alternative.
Alternation method that takes a MatchResult as the alternative.
Type parameters
- S
-
the type of the result and a super-type of R.
Value parameters
- sm
-
a call-by-name MatchResult that will be used if this is empty.
Attributes
- Returns
-
a MatchResult[S], either this (if successful) otherwise sm.
Attributes
- Returns
-
true if this is a Match
Alternation method that takes a Matcher as the alternative. If this MatchResult is a miss, then return the value of m applied to the input.
Alternation method that takes a Matcher as the alternative. If this MatchResult is a miss, then return the value of m applied to the input.
Type parameters
- S
-
the type of the result and a super-type of R.
Value parameters
- m
-
a Matcher of Any to S.
Attributes
- Returns
-
a MatchResult[S].
Concrete methods
Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.
Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.
Similar to ~ except that this MatchResult[R] is discarded and not part of the result. In other words, this acts purely as a guard. This method simply invokes guard(sm).
Type parameters
- S
-
the type of the resulting MatchResult.
Value parameters
- sm
-
the MatchResult that must follow this MatchResult for a successful outcome.
Attributes
- Returns
-
a MatchResult[S] which is the result of calling guard(sm).
This method can be pronounced as "tee" as it's like a tee in a pipe. The input and the output are identical (so it's like identity) but it has a side-effect: the function f is invoked on the matched value of r (assuming that it is a Match, otherwise f is not invoked).
This method can be pronounced as "tee" as it's like a tee in a pipe. The input and the output are identical (so it's like identity) but it has a side-effect: the function f is invoked on the matched value of r (assuming that it is a Match, otherwise f is not invoked).
Value parameters
- f
-
a R => Unit function.
Attributes
- Returns
-
rr unchanged.
This method can also be pronounced as "tee" as it's like a tee in a pipe. The input and the output are identical (so it's like identity) but it has a side-effect: the function f is invoked on the matched value of r, while, otherwise, the function g is invoked on the String representation of the MatchResult (a Miss or Error).
This method can also be pronounced as "tee" as it's like a tee in a pipe. The input and the output are identical (so it's like identity) but it has a side-effect: the function f is invoked on the matched value of r, while, otherwise, the function g is invoked on the String representation of the MatchResult (a Miss or Error).
Value parameters
- f
-
a R => Unit function.
Attributes
- Returns
-
rr unchanged.
Method to accumulate this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.
Method to accumulate this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.
Type parameters
- S
-
the underlying type of sm.
- U
-
the underlying type of the result, which is a super-class of R.
Value parameters
- accumulator
-
a function of type (R, S) => U.
- sm
-
a MatchResult[S].
Attributes
- Returns
-
a MatchResult[U].
Method to combine this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.
Method to combine this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.
Type parameters
- S
-
the underlying type of sm.
Value parameters
- combiner
-
a function of type (R, S) => U.
- sm
-
a MatchResult[U].
Attributes
- Returns
-
a MatchResult[U].
Filters this MatchResult with the provided predicate.
Filters this MatchResult with the provided predicate.
If this is a Miss, then it is returned as is. If this is a Match, and the given predicate p is applied to its value. If the result of applying the predicate is true, then this Match is returned. Otherwise, this method returns a Miss.
Value parameters
- p
-
A predicate function that takes a value of type
Rand returns aBoolean.
Attributes
- Returns
-
A
MatchResult[R]which is either the current instance if the predicate matches, or aMiss.
Filters the current MatchResult (if successful) with the provided predicate. If the predicate evaluates to false for the result of this MatchResult, the current instance is returned. Otherwise, it returns a Miss. If this is a Miss then that is returned.
Filters the current MatchResult (if successful) with the provided predicate. If the predicate evaluates to false for the result of this MatchResult, the current instance is returned. Otherwise, it returns a Miss. If this is a Miss then that is returned.
Value parameters
- p
-
A predicate function that takes a value of type
Rand returns aBoolean.
Attributes
- Returns
-
A
MatchResult[R]which is either the current instance if the predicate matches, or aMiss.
Method to determine if this is unsuccessful.
Method to determine if this is unsuccessful.
Attributes
- Returns
-
the negation of successful.
Map method.
Map method.
Type parameters
- S
-
the underlying type of the returned MatchResult.
Value parameters
- f
-
a function of R => S.
Attributes
- Returns
-
MatchResult[S].
"unit" method for a successful match.
"unit" method for a successful match.
Type parameters
- S
-
the underlying type of the result.
Value parameters
- s
-
the call-by-name value of the result.
Attributes
- Returns
-
a Match[S] with value s (unless s throws an exception, in which case the result will be an Error).
Alternation method that takes a MatchResult as the alternative. Identical to orElse.
Alternation method that takes a MatchResult as the alternative. Identical to orElse.
Type parameters
- S
-
the type of the result and a super-type of R.
Value parameters
- sm
-
a call-by-name MatchResult that will be used if this is empty.
Attributes
- Returns
-
a MatchResult[S] which is the result of invoking orElse(sm).
Method to compose this MatchResult with sm. The results of this and of sm are combined into one ~. ~ is a synonym of andThen.
Method to compose this MatchResult with sm. The results of this and of sm are combined into one ~. ~ is a synonym of andThen.
Type parameters
- S
-
the underlying type of s.
Value parameters
- sm
-
a call-by-name MatchResult[S].
Attributes
- Returns
-
a MatchResult[R ~ S].
Method to compose this MatchResult with sm. If either this is a Match or sm is a Match, the result will be a Match. CONSIDER having two nested match clauses such that sm would not be evaluated if this was an Error.
Method to compose this MatchResult with sm. If either this is a Match or sm is a Match, the result will be a Match. CONSIDER having two nested match clauses such that sm would not be evaluated if this was an Error.
Type parameters
- S
-
the underlying type of s.
Value parameters
- sm
-
a call-by-name MatchResult[S].
Attributes
- Returns
-
a MatchResult[R ~ S].