생성일: 2019년 11월 18일
수정일: 2023년 07월 16일
수정일: 2023년 07월 16일
4clojure - Flipping out (46)
문제
(= 3 ((__ nth) 2 [1 2 3 4 5]))
(= true ((__ >) 7 8))
(= 4 ((__ quot) 2 8))
(= [1 2 3] ((__ take) [1 2 3 4 5] 3))
문제풀이
(fn [f]
(fn [x y]
(f y x)))
함수 내부의 함수 정의를 하는 방법으로 문제를 해결 했다. 과정을 설명한다면 처음에 (fn [f])의 실행으로 (fn [x y]가 리턴되고 그 후에 x y값에 해당하는 결과를 (f y x)를 실행하므로써 해결을 한다.즉 이런 모양이다.
(((fn [f] (fn [x y] (f y x))) nth) 2 [1 2 3 4 5])
((fn [x y] (nth y x)) 2 [1 2 3 4 5])
처음과 같은 모양이 되었다가 함수가 실행되고 나서는 두번째와 같은 모양이 된다.