아래의 글은 마틴 오더스키,렉스 스푼,빌 베너스 공저 / 오현석,이동욱,반영록 공역, 『Programming in Scala 3/e』,에이콘출판사(2017), CH01의 내용을 기반으로 작성하였습니다.

optional

Any 모든 클래스의 슈퍼 클래스, Nill, Nothing 모든 클래스의 서브 클래스

 

AnyVal, AnyRef

 

AnyVal : Byte, Short, Char, Int, Long, Float, Double, Boolean, Unit

op : +, *, ||, &&

 

 

def error(message: String): Nothing =

    throw new RuntimeException(message)

 

 

def divide(x: Int, y: Int): Int =

    if (y != 0) x / y

    else error("can't devide by zero")

 

 

Nothing이 Int의 subtype이므로 전체 조건식의 return type Int에 합치

'독서관련 > Programming in Scala' 카테고리의 다른 글

Scala CH13. 패키지와 임포트  (0) 2020.03.29
Scala CH12. 트레이트  (0) 2020.03.29
Scala CH10. 상속과 구성  (0) 2020.03.29
Scala CH08. 함수와 클로저  (0) 2020.03.29
Scala CH07. 내장 제어 구문  (0) 2020.03.29

+ Recent posts