Soma de uma lista de opções com fundores aplicáveis
Tenho uma lista [Option [Int]] e quero somar sobre ela usando functores aplicativos. De [1] entendo que deve ser algo como o seguinte
import scalaz._
import Scalaz._
List(1,2,3).map(some(_)).foldLeft(some(0))({
case (acc,value) => (acc <|*|> value){_+_}
})
de qualquer maneira eu simplesmente não sou capaz de descobrir a maneira correta de escrever isso. Ficaria feliz se alguém pudesse me ajudar com isso.
Muito obrigad
[1]Como combinar valores de opção no Scala?
Edita
brigado por todas as ótimas resposta
Se houver nenhum na lista, quero que ele retorne nenhum. Estou tentando substituir Null / Exception por Option / Either e ver se consigo produzir algum código utilizáve
função @Alguns preencherá minha lista e eu quero processá-la o mais fácil possível, sem verificar se um dos elementos era Nenhum. Deveria funcionar de maneira semelhante a Exceções, onde não preciso verificar isso em minha função, mas deixe o chamador cuidar diss