윤용호
가입: 2008년 9월 23일 올린 글: 257
|
올려짐: 2009년11월15일 11:34 주제: re |
|
|
저건 Currying이라고 합니다. (스펠이 맞는지 잘 모르겠네요..)
예를 들어 List.map (fun x->x+1) [1;2;3;4;5] 의 결과는
[2;3;4;5;6] 이 될 것입니다.
이 때 마지막에 [1;2;3;4;5]를 주지 않고
let incl=List.map (fun x->x+1);;
이렇게 하면. incl 함수는 리스트 하나를 받아서 1씩 더해주는 함수가 됩니다.
여러개의 인자를 받는 함수 타입이 a->b->c->d 이렇게 표현되어 있는것은
a를 받아 b->c->d를 리턴하는 함수를 만들고
이게 또 b를 받아 c->d를 리턴하는 함수를 만들고
다시 이게 c를 받아 d를 리턴하는 함수를 만들게 돼있기 때문이죠.
저 bluePrint도 아마 int*int를 받아 unit을 만들어내는 함수가 아닐까요.
덧붙여, pp는 이번 숙제 구현대상이 아닙니다. _________________ TA |
|