假设我在调用中processOne定义了一个单子函数,如下所示:
def processOne(input: Input): Either[ErrorType, Output] = ...
给定一个“ Inputs”列表,我想返回一个Outputs包含在一个“”中的相应列表Either:
def processMany(inputs: Seq[Input]): Either[ErrorType, Seq[Output]] = ...
processMany将调用processOne它具有的每个输入,但是,我希望它终止第一次(如果有)processOne返回 aLeft并返回 that Left,否则返回 aRight和输出列表。
我的问题:最好的实施方式是processMany什么?是否可以使用for表达式来完成此行为,或者我是否有必要自己递归地迭代列表?