Scala'da Option[Int]
'u Either[String, Int]
'a dönüştürmem gerektiğini varsayalım. Ben böyle yapmak istiyorum: Scala'da Seçeneği Dönüştürme
def foo(ox: Option[Int]): Either[String, Int] =
ox.fold(Left("No number")) {x => Right(x)}
Maalesef Yukarıdaki kod derleme değil ve ben açıkça tip
Either[String, Int]
eklemek gerekir:
ox.fold(Left("No number"): Either[String, Int]) {x => Right(x)}
mümkün Either
Buna Option
dönüştürmek için mi türü eklemeden yol?
Option
'u Either
'a dönüştürmeyi nasıl önerirsiniz?
'ox.map (Sağ (_)) getOrElse (Sol
Or
("No number")) 'de çalışır ancak bir ara seçenek oluşturur. – knutwalkerif
ifadesi ileVe ayrıca 'ox.toRight (" No Number ")' vardır, ancak bu yöntem açık bir dönüş türüne sahip olmadığından, "[String, Int] ile Ürünle Serileştirilebilir" ile anlamlandırılır – knutwalker
@knutwalker Oh, teşekkürler . 'ToRight' çözümünü beğendim. Ben sadece türünü ekleyeceğim: 'ox.toRight (" No Number "): Ya [String, Int]'. – Michael