일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- hadoop
- Spring XD
- nginx
- 제주
- 도메인주도설계
- Spring Boot
- 일본 백패킹
- Java
- Hbase
- intellij
- design pattern
- docker
- Storm
- apache storm
- 스프링 배치
- Clean Code
- Spring Batch
- hdfs
- Angular2
- spark
- SBT
- 인텔리J
- Spring
- elastic search
- elasticsearch
- DDD
- 엘라스틱서치
- Gradle
- Linux
- scala
Archives
- Today
- Total
욱'S 노트
Scala - 커링 본문
반응형
메소드에는 여러개의 파라미터를 정의할 수 있다. 메소드를 호출할때 더 작은 수의 파라미터가 들어오면 메소드는 전달된 수를 기본값으로 하고 그것보다 적은 수의 파라미터를 가진 함수로 표현될 수 있다.
object CurryingTest extends App {
def modN(n : Int)(x : Int) = x % n
def multiply(f : Int => Int, x : Int, y : Int) = f(x) + y
println(multiply(modN(2), 10, 4))
}
위의 예제를 보자 modN은 두개의 파라미터가 정의된 것 같지만 multiply에서 사용시 한개의 파라미터만 전달되었다. 이 경우 n인자를 디폴트로 전달받은 함수로 인지되어 modN(2)는 multyply의 Int => Int 타입에 맞는 함수로 사용될 수 있다.
출처 : http://docs.scala-lang.org/tutorials/tour/currying
반응형
'Programming > Scala' 카테고리의 다른 글
Scala - 패턴 매칭 (0) | 2016.11.09 |
---|---|
Scala - Case 클래스 (0) | 2016.11.08 |
Scala - 내포된 함수 (0) | 2016.11.02 |
Scala - 고차함수 (0) | 2016.11.02 |
Scala - 익명 함수 (0) | 2016.11.02 |