Предположим, мне нужно преобразовать Option[Int]
в Either[String, Int]
в Scala. Я хотел бы сделать это следующим образом:
def foo(ox: Option[Int]): Either[String, Int] =
ox.fold(Left("No number")) {x => Right(x)}
К сожалению, приведенный выше код не компилируется, и я должен явно указать тип Either[String, Int]
:
ox.fold(Left("No number"): Either[String, Int]) {x => Right(x)}
Можно ли преобразовать Option
в Either
таким образом, не добавляя тип?
Как бы вы предложили преобразовать Option
в Either
?