프로그래밍 검색 블로그

clojure 함수형 프로그래밍 3 (apply) 본문

clojure기초

clojure 함수형 프로그래밍 3 (apply)

코딩조무사 2017. 10. 26. 23:45

apply [함수] [?가변인자] [any collection] 


함수 + 가변인자 + collection으로 받은 인자를 모두 모여서 출력시킨다 

이때 마지막에 붙는 collection은 풀어서 foreach로 넣는다 


1
2
(apply + [1 2 3])
=> 6
cs


이렇게 했을때 기본적으로 맨 마지막으로 붙은 컬렉션은 순회를 하는것으로 6을 반환한다 

reduce는 collection만 가지고 처리를 할수 있었다면 이쪽은 원소 + 컬렉션이기때문에 이러한것도 가능하다 


1
2
(apply + 1 2 3 [1 2 3])
=> 12
cs




맨 마지막의 원소만 컬렉션을 받을수 있기 때문에 

1
2
apply + 1 2 [1 2] [1 2 3])
ClassCastException clojure.lang.PersistentVector cannot be cast to java.lang.Number  
cs

이렇게 했을때는 에러 



Comments