どちらかのリストがあります
val list: List[Either[String, Int]] = List(Right(5), Left("abc"), Right(42))
その結果Right
、リスト内のすべてが if である場合、Right
else が必要ですLeft
。これは、リストにバイアスをかける必要があるように思えます (Try
代わりに使用するなど) が、そうではない、またはすべきではないと仮定しましょう。
結果のRight
orの内容Left
は常に同じです (例: 文字列、以下を参照) - コンテナのみが異なります。たとえば、上記のリストでは、このリストから文字列を作成したいので、結果はLeft
likeになりLeft("Right(5) -> Left(abc) -> Right(42)")
ます。Right(12)
の代わりに別のものがある場合は、Left("abc")
になりますRight("Right(5) -> Right(12) -> Right(42)")
。
Left
リストに少なくとも 1 つあるかどうかを手動で確認し、結果として aLeft
または aを作成する if で分岐することもできますRight
が、もっと Scala に似た方法はないのでしょうか?