Учитывая эти два метода, которые используют Either
, во втором методе мне нужно передать ошибку, используя Left(error) => Left(error)
. Есть ли способ опустить это во втором методе (или использовать более элегантный код), поскольку оператор просто должен быть передан?
trait Error
case class ErrorClass (msg: String) extends Error
def intFunction(i:Int) : Either[ErrorClass,Int] = {
if (i>0)
Right(i)
else
Left(ErrorClass("error"))
}
def multiplier(j:Int) : Either[ErrorClass,Int] = {
val either = intFunction(2)
either match {
case Right(i) => Right(i*j)
case Left(error) => Left(error)
}
}