Предположим, мне нужно преобразовать 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?