我调用外部函数,作为回报有几个Either. 说我有
val a = Right("hey")
val b = Right(2)
val c = Left("oops") .....
for{
x <- a.right
y <- b.right
z <- c.right
} yield(User(x,y,z))
但是说,如果z是上面的Left。然后我想给它一个默认的字符串。即通过
for{
x <- a.right
y <- b.right
z <- c.right.getOrElse(Right("default String")).right
} yield(User(x,y,z))
这东西好脏。我怎样才能减少这个:c.right.getOrElse(Right("default String")).right。Doingc.right.getOrElse("default")不会作为mapon String 返回 IndexedSeq 起作用。