型が [String, A] (A は複数の型) である一連の Yiher に対して一致を実行した後、左側の文字列をリストに蓄積したいと考えています。
(a, b, c, d, e) match {
case (Right(a), Right(b), Right(c), Right(d), Right(e)) => {
"All good, use a, b, c, d, and e!"
}
case anythingElse => {
val strings = accLefts(anythingElse)
doSomethingWithStrings(strings)
}
}
タプルにしようとする.productIterator.toList
と、List[Any] になってしまいます。失敗したケースを個別に処理すると (Rights と Lefts の組み合わせ)、指数関数的な数の case ステートメントが作成されます。
最後に List[Either[String, Any]] を取得して accLefts 呼び出しに渡すにはどうすればよいですか? それとも、試合以外のことをするべきでしたか?