Scala:Either
둘 중 하나의 값을 가질 수 있는 타입이다.
Either 에 값 담기
Option을 Either 에 담는 방법을 예제로 사용한다.
def eitherTest(num: Option[Int]): Either[String, Int] = num match {
case Some(n) => Right(n)
case None => Left("Error! Number is missing!")
}
eitherTest(Some(7))
- 인자로 제대로 된 값이 들어오면 Right 즉 Either 의 오른쪽에 담고,
- 인자에 제대로 된 값이 안 들어오면 Left 즉 Either 의 왼쪽에 값을 담는다.
Either 값 사용하기
val res = eitherTest(Some(7))
if( res.isRight )
println("Number is %s".format(res.right.get))
else if( res.isLeft)
println("Error message => %s".format(res.left.get))
위의 코드에서, eitherTest
메소드를 호출해서 받는 값 res
는 Either[String, Int]
타입인데 어느쪽에 제대로 된 값이 들어 있는 지 확인하기 위해서 res.isRight
와 res.isLeft
를 사용한다.