clojure – 네임스페이스안에 정의되어 있는 함수 보기

클로저 개발을 하다 보면, 네임스페이스 안에 정의되어 있는 함수들을 보고 싶을 때가 있다. LightTable이 아닌 autocomplete가 제공되지 않는 IDE에서 개발을 할때면, 아.. 뭐지? 공욕을 치룰때가 있다. 그럼 어떻게 네임스페이스안의 함수들을 볼 수 있을지 알아 보자. 1. keys 함수를 이용하여, 함수 시퀀스 반환하기. user=> (keys (ns-publics 'foo)) 그 외 ns- 많은 함수들을 제공하니 찾아서 실험해보도록 하자. 소개 더보기 clojure – 네임스페이스안에 정의되어 있는 함수 보기[…]

Clojure – 특정 폴더에서 파일들을 읽어오고 싶을때

상황 특정 폴더에서 파일 들을 읽어오고 싶을 때가 있다 이럴 때는 어떻게 해야할까? 문제 해결 Tip 아래의 방법을 이용하여 샘플 폴더와 샘플 파일들을 만들어보자. (리눅스 또는 맥 환경에서) $ mkdir -p next-gem $ touch next-gen/picard.jpg next-gen/locutus.bmp next-gen/data.txt java.io.File 객체들을 lazy sequence로 받기 위해 file-seq 함수를 사용 할 수 있다. (def tag-dir (file-seq (clojure.java.io/file "./next-gen"))) tng-dir 소개 더보기 Clojure – 특정 폴더에서 파일들을 읽어오고 싶을때[…]

Clojure – 새로 시작하는 마음으로…

클로저 라이브러리에 대해서 알아보자. 클로저 코드는 Library처럼 패키지 되어 있다. 각각의 클로저 라이브러리는 네임스페이스로 되어있으며, Java 패키지와 유사한 구조로 되어있다. 만약 클로저에서 라이브러리를 호출하기 위해서 아래와 같이 사용할 수 있다. (require quoted-namespace-symbol) clojure.contrib.str-utils와 같은 패키지를 사용할 때 이는 clojure/contrib/str-utils.clj CLASSPATH에 위치하며 아래와 같이 사용할 수 있다. (require ‘clojure.contrib.str-utils) Single quote(‘)는 꼭 필요하다. Single quote는 Reader 소개 더보기 Clojure – 새로 시작하는 마음으로…[…]

Clojure – (read-line) doesn't wait for input

“lein run”을 이용하여 (read-line) 함수를 사용하는 중에 문제가 발생하였다. (read-line) 함수는 (. (new java.util.Scanner (. System in)) nextLine)]와 동일하다. 문제의 원인은 leiningen은 새로운 프로세스를 생성하여 사용하므로 사용자 콘솔에 접근을 할 수 없다는 문제이다. ref : http://stackoverflow.com/questions/7707558/clojure-read-line-doesnt-wait-for-input Try “lein trampoline run”. See Q: I don’t have access to stdin inside my project. A: There’s a problem 소개 더보기 Clojure – (read-line) doesn't wait for input[…]