Suppose I have a List of tries in scala, for example: List(Try(a), Try(b), Try(c)). If want to write a code snippets that returns Success(List(a, b, c)) if all tries are successes, and returns a Failure if one of the tries is a failure.
The only way I found to do it is:
private def convertArrayOfSuccessesToSuccessOfByteArray(
tryArrayForOutput: Array[Try[Byte]]
): Success[Array[Byte]] = {
val outputArray = ArrayBuffer[Byte]()
tryArrayForOutput.foreach(tryElem => {
val Success(elem) = tryElem
outputArray.append(elem)
})
Success(outputArray.toArray)
}
As you can see, it's pretty cumbersome and not so "functional".