0

どちらかのリストがあります

val list: List[Either[String, Int]] = List(Right(5), Left("abc"), Right(42))

その結果Right、リスト内のすべてが if である場合、Rightelse が必要ですLeft。これは、リストにバイアスをかける必要があるように思えます (Try代わりに使用するなど) が、そうではない、またはすべきではないと仮定しましょう。

結果のRightorの内容Leftは常に同じです (例: 文字列、以下を参照) - コンテナのみが異なります。たとえば、上記のリストでは、このリストから文字列を作成したいので、結果はLeftlikeになり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 に似た方法はないのでしょうか?

4

2 に答える 2