티스토리 뷰
반응형
ensuring은 조건에 맞으면 값을 반환하고 틀리면 java.lang.AssertionError: assertion failed 에러가 발생한다.
위의 에러가 발생하는 이유는 ensuring 내부적으로 assert 메서드를 사용하고 있기 때문이다.
사용 방법은 ( 조건 식이 참일 때 반환될 값 ) ensuring ( 조건 식 )와 같이 사용한다고 생각하면 된다.
ex) 홀수 일 때 에러를 발생시키고 짝수면 해당 숫자를 반환하는 메서드
def test1(num: Int): Int = num ensuring (num % 2 == 0)
또는
def test2(num: Int): Int = num ensuring (_ % 2 == 0)
ex) 홀수 일 때 에러를 발생시키고 짝수면 해당 숫자에 1을 더해 반환하는 메서드
def test2(num: Int): Int = (num + 1) ensuring (num % 2 == 0)
또는
def test2(num: Int): Int = (num + 1) ensuring (_ % 2 == 0)
만약 에러의 메시지를 변경하고 싶다면 ( 조건 식이 참일 때 반환될 값 ) ensuring ( 조건 식, 에러 메시지 ) 와 같이 조건식 뒤에 출력할 메시지를 작성하여 사용하면 된다.
반응형
'scala' 카테고리의 다른 글
[Scala] Callback Hell 및 해결 (0) | 2022.03.18 |
---|---|
[Scala] 부분 적용 함수 (0) | 2018.08.04 |
[Scala] sealed 제어자 (0) | 2018.06.23 |
[Scala] unapply 메서드 (0) | 2018.05.05 |
[Scala] apply 메서드 (0) | 2018.03.24 |
댓글