假设我在调用中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
表达式来完成此行为,或者我是否有必要自己递归地迭代列表?