scala
[scala] 암시 implicitly
'김용환'
2016. 11. 3. 14:02
암시(implicit)에 대한 기초 개념은 아래에서 정리해봤다.
Predef에 implicitly 라는 게 존재한다.
@inline def implicitly[T](implicit e: T) = e
implicit을 짧게 쓸 수 있는 관용구 정도로 생각하면 될 것 같다.
def plus(i: Int) (implicit j: Int) = println(i + j)
def plusWrapper(i: Int) = plus(i)
def plusImplicitly(i: Int) = plus(i)(implicitly[Int])
implicit val j = 20
plus(10)
plusWrapper(20)
plusImplicitly(30)
결과는 다음과 같다.
30
40
50