and<U> method
Return res
if the result is Ok
,
otherwise returns the Err
value of this
.
Examples
Basic usage:
Result<int, String> x = Ok(2);
Result<String, String> y = Err('late error');
expect(x.and(y), ErrString, String>('late error'));
Result<int, String> x = Err('early error');
Result<String, String> y = Ok('foo');
expect(x.and(y), ErrString, String>('early error'));
Result<int, String> x = Err('not a 2');
Result<String, String> y = Err('late error');
expect(x.and(y), ErrString, String>('not a too'));
Result<int, String> x = Ok(2);
Result<String, String> y = Ok('different result type');
expect(x.and(y), Ok<String, String>('different result type'));
Implementation
@override
Result<U, E> and<U>(Result<U, E> res) {
return Err(e);
}