Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- sha256
- async
- WebView
- web
- haskell
- c++
- AES
- type_traits
- go
- ChromeTab
- stringprintf
- ranges
- Observer
- SHA1
- program
- Reflect
- template
- CustomTab
- RAII
- kotlin
- sprintf
- Scala
- Functional
- design pattern
- Chrono
- Android
- traits
- SHA512
- coroutines
- Clojure
Archives
- Today
- Total
프로그래밍 검색 블로그
clojure 함수1 본문
clojure 에서는 거의 모든것이 함수인데
(함수이름 인자1 인자2...)
같은 방식으로 사용이 가능하다
물론 이러한 방식은 사칙연산 마저 예외가 아니라서
2 + 2 * 2 같은 수식을 계산하여 출력 하려면
1 2 | ;error (println (2+2*2)) | cs |
이렇게 실행시키면 에러가 나고
이렇게 함수호출을 통해서 사용해야 한다
1 2 | ;ok (println (* (+ 2 2) 2)) | cs |
조건 검사또한 이렇게 인자를 3개 받는 if 함수와 operator> 함수를 통해서 사용해야한다
1 | (println (if (> 1 2) "if" "else")) | cs |
위 코드를 C계열 언어에서는
1 2 3 4 | if(1 > 2) print("if") else print("else") | cs |
lisp 계열의 이러한 함수호출 방식은 괄호 이외의 연산자 우선순위를 생각할 필요가 없는 장점이 있긴 하지만
약간만 복잡해지면 많아지는 괄호로 인해서 가독성이 비교적 떨어져 비난의 대상이기도 하다
'clojure기초' 카테고리의 다른 글
clojure 기초 반복 loop (0) | 2017.10.21 |
---|---|
clojure 변수 선언 (0) | 2017.10.21 |
clojure 함수 3 (0) | 2017.10.21 |
clojure 함수 2 (0) | 2017.10.21 |
clojure (0) | 2017.10.21 |
Comments