次のコードがあるとします。
val either: Either[String, (Int, Int)] = Right((1,2))
for {
(a, b) <- either.right
} yield a + b
REPLで評価すると、
:13: エラー: コンストラクターを期待される型にインスタンス化できません。見つかった: (T1, T2) 必要: scala.util.Either[Nothing,(Double, Double)] (a, b) <- a.right ^ :14: エラー: 見つかりません: 値 a } yield a + b ^
なぜこのようなエラーが発生するのですか? どちらかの権利からのタプルでパターン マッチを行うことはできませんか?