processOne次のように定義された呼び出されたモナド関数があるとします。
def processOne(input: Input): Either[ErrorType, Output] = ...
" "のリストが与えられた場合、対応する " " のリストを:でラップしInputsて返したいと思います。OutputsEither
def processMany(inputs: Seq[Input]): Either[ErrorType, Seq[Output]] = ...
processManyは、それが持っている各入力に対して呼び出しますが、 aを返すprocessOne最初の時間 (もしあれば) を終了し、それを返し、それ以外の場合は出力のリストと共に a を返します。processOneLeftLeftRight
私の質問: 実装する最良の方法は何processManyですか? 式を使用してこの動作を実現することは可能forですか、それともリストを自分で再帰的に繰り返す必要がありますか?