ToTuple
Transforma um valor Either<TLeft, TRight>
em uma tupla de valores opcionais, onde um deles terá o estado IsSome
e o outro IsNone
, de acordo com o valor encapsulado no either
.
Parâmetros | Retorno |
---|---|
Either<TLeft, TRight> either |
(Option<TLeft> Left, Option<TRight> Right) |
Como usar
Este método deve ser utilizado quando for necessário extrair as informações dos dois lados de um Either
.
Quando o valor Either está no estado IsLeft
Either<string, int> either = "Hello";
(Option<string> Left, Option<int> Right) tupleResult =
either.ToTuple();
//tupleResult.Left.IsSome = true
//tupleResult.Left.Some = "Hello"
//tupleResult.Right.IsSome = false
//tupleResult.Right.IsNone = true
Abordagens para apenas um dos lados
Você pode utilizar os métodos ToOptionLeft
e ToOptionRight
para obter o mesmo resultado, mas desta vez obtendo somente um dos valores.
ToOptionLeft Quando o valor Either está no estado IsLeft
Either<string, int> either = "Hello";
Option<string> leftResult = either.ToOptionLeft();
//leftResult.IsSome = true
//leftResult.Some = "Hello"
ToOptionRight Quando o valor Either está no estado IsLeft
Either<string, int> either = "Hello";
Option<int> rightResult = either.ToOptionRight();
//rightResult.IsSome = false
//rightResult.IsNone = true