scala

[Scala] 부분 적용 함수

sungjine 2018. 8. 4. 13:41
반응형

부분 적용 함수란 기존에 있던 메서드의 파라미터를 미리 채워둔 함수를 새로 만드는 것을 의미한다.

 

아래는 부분 적용 함수의 예제들이다.

 

ex 1)

def numberAdd1(number1: Int)(number2: Int) = number1 + number2

val numberAdd2 = numberAdd1(2)_  // Int => Int

println(numberAdd2(1)) // 3

 

ex 2)

def numberAdd3(number1: Int)(number2: Int)(number3: Int) = number1 + number2 + number3

val numberAdd4 = numberAdd3(1)_   // Int => (Int => Int)

println(numberAdd4(1)(1)) // 3

 

ex 3)

def numberAdd5(number1: Int, number2: Int) = number1 + number2

val numberAdd6 = numberAdd5 _   // (Int, Int) => Int

println(numberAdd6(1, 2)) // 3

 

ex 4)

def numberAdd7(number1: Int)(number2: Int, number3: Int) = number1 + number2 + number3

val numberAdd8 = numberAdd7(1)_   // (Int, Int) => Int

println(numberAdd8(1, 1)) // 3

반응형