This shows you the differences between two versions of the page.
| language:clojure [2018/03/27 02:45] – [Lists] 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 199: | 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 571: | Line 590: | ||
| </ | </ | ||
| - | <sxh ; title:나머지 변수 이용. 이해하지 못하는 코드> | + | <sxh ; title:Collecton의 인자 Binding> |
| (def my-vector [" | (def my-vector [" | ||
| Line 596: | Line 615: | ||
| ;단순 재귀 | ;단순 재귀 | ||
| ;; | ;; | ||
| - | (defn factorial1 [n result] | + | (defn factorial1 [n] |
| (if (= n 1) | (if (= n 1) | ||
| - | | + | |
| - | (factorial1 | + | (*' n (factorial |
| - | (factorial1 | + | (factorial1 |
| Line 941: | 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 1387: | Line 1422: | ||
| * < | * < | ||
| - | * forms에 x를 연쇄적으로 | + | * forms에 x를 연쇄적으로 |
| * 함수를 여러번 중첩하는 경우 유용. | * 함수를 여러번 중첩하는 경우 유용. | ||
| Line 1408: | Line 1443: | ||
| * < | * < | ||
| - | * forms에 x를 연쇄적으로 | + | * forms에 x를 연쇄적으로 |
| * Collections를 마지막 argument로 받는 함수들에 유용 | * Collections를 마지막 argument로 받는 함수들에 유용 | ||