This shows you the differences between two versions of the page.
| language:clojure [2018/02/19 02:12] – ledyx | language:clojure [2021/02/07 03:15] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| https:// | https:// | ||
| - | {{tag>Language Clojure JVM}} | + | {{tag> |
| Line 15: | Line 15: | ||
| * Mac : http:// | * Mac : http:// | ||
| * 사전에 [[https:// | * 사전에 [[https:// | ||
| + | * Linux <sxh bash> | ||
| + | #java8 | ||
| + | sudo add-apt-repository ppa: | ||
| + | sudo apt-get update | ||
| + | sudo apt-get install oracle-java8-installer | ||
| + | |||
| + | #leiningen | ||
| + | wget https:// | ||
| + | chmod a+x lein | ||
| + | sudo mv lein / | ||
| + | </ | ||
| Line 165: | Line 176: | ||
| </ | </ | ||
| + | ===== Queue ===== | ||
| + | <sxh> | ||
| + | (conj '(1 2 3) 4) ;; (4 1 2 3) | ||
| + | (pop '(1 2 3 4)) ;; (2 3 4) | ||
| + | (peek '(1 2 3 4)) ;; 1 | ||
| + | </ | ||
| ==== Vectors ==== | ==== Vectors ==== | ||
| Line 193: | Line 210: | ||
| (conj [1 2 3] 4) | (conj [1 2 3] 4) | ||
| => [1 2 3 4] | => [1 2 3 4] | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Stack ===== | ||
| + | <sxh> | ||
| + | (conj [1 2 3] 4) ;; [1 2 3 4] | ||
| + | (pop [1 2 3 4]) ;; [1 2 3] | ||
| + | (peek [1 2 3 4]) ;; 4 | ||
| </ | </ | ||
| Line 565: | Line 590: | ||
| </ | </ | ||
| - | <sxh ; title:나머지 변수 이용. 이해하지 못하는 코드> | + | <sxh ; title:Collecton의 인자 Binding> |
| (def my-vector [" | (def my-vector [" | ||
| Line 590: | Line 615: | ||
| ;단순 재귀 | ;단순 재귀 | ||
| ;; | ;; | ||
| - | (defn factorial1 [n result] | + | (defn factorial1 [n] |
| (if (= n 1) | (if (= n 1) | ||
| - | | + | |
| - | (factorial1 | + | (*' n (factorial |
| - | (factorial1 | + | (factorial1 |
| Line 935: | Line 960: | ||
| => 24 | => 24 | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ==== 함께 구현되는 Interface ==== | ||
| + | |||
| + | 참고로 익명 함수에는 4개의 Java Interface가 Implement 된다. | ||
| + | |||
| + | * java.util.concurrent.Callable | ||
| + | * java.lang.Runnbale | ||
| + | * java.io.Serializable | ||
| + | * java.util.Comparator | ||
| + | |||
| + | |||
| + | https:// | ||
| + | https:// | ||
| + | |||
| + | |||
| ==== Returing Functions ==== | ==== Returing Functions ==== | ||
| - | * Clojures | + | * Closures |
| <sxh> | <sxh> | ||
| Line 1381: | Line 1422: | ||
| * < | * < | ||
| - | * forms에 x를 연쇄적으로 | + | * forms에 x를 연쇄적으로 |
| * 함수를 여러번 중첩하는 경우 유용. | * 함수를 여러번 중첩하는 경우 유용. | ||
| Line 1402: | Line 1443: | ||
| * < | * < | ||
| - | * forms에 x를 연쇄적으로 | + | * forms에 x를 연쇄적으로 |
| * Collections를 마지막 argument로 받는 함수들에 유용 | * Collections를 마지막 argument로 받는 함수들에 유용 | ||
| Line 1426: | Line 1467: | ||
| == DOM의 Value를 가져오는 방법 == | == DOM의 Value를 가져오는 방법 == | ||
| <sxh> | <sxh> | ||
| - | (-> .-target .-value) | + | (-> |
| </ | </ | ||