Clojure 프로젝트 관리를 위한 Clojure 및 Leiningen
3343 단어 functionalclojurebeginners
클로저 란 무엇입니까?
Daniel Higginbotham은 그의 책 Clojure for the Brave and True에서 유머러스하게 Clojure를 다음과 같이 정의했습니다.
an alloy of Lisp, functional programming and a lock of Rich Hickey's own epic hair
함수형 프로그래밍의 강력하고 표현력 있는 기능인 Lisp 방언을 결합합니다. Clojure는 Clojure 프로그램이 Java, Javascript 및 .NET과 같은 플랫폼에서 실행되고 기본 기능을 사용함을 의미하는 호스팅 언어입니다.
라이닝겐
Leiningen
는 Clojure 프로젝트를 자동화하고 관리하는 데 유용한 도구입니다. Leiningen 및 Clojure에는 Java가 필요합니다. Clojure의 JVM 구현에 중점을 두고 있으므로 OpenJDK가 필요합니다. > 1.6
Java 버전이 설치되어 있어야 합니다.https://leiningen.org/의 단계에 따라 Leiningen을 다운로드하십시오. Clojure 컴파일러를 자동으로 다운로드합니다.
clojure.jar
새 프로젝트 만들기
lein new app clojure-project
설치 후 디렉토리에서 다음 파일을 찾을 수 있습니다.
project.clj
(npm의 package.json과 같은) 프로젝트 종속성을 포함합니다. resources
자산(예: 이미지)을 저장하기 위한 폴더. src/clojure-project/core.clj
는 코드를 작성하는 곳입니다. 프로젝트 실행
(ns clojure-project.core
(:gen-class))
(defn -main
"I don't do a whole lot...yet."
[& args]
(println "Hello, World!"))
이 코드는
src/clojure-project/core.clj
파일에 이미 있습니다. C, C++를 사용해 본 적이 있다면 네임스페이스와 주요 기능을 알고 있을 것입니다. 음, defn -main
는 프로그램의 시작점입니다.실행하려면
cd
clojure-project로 이동하고 다음을 실행합니다.lein run
출력으로
Hello, World!
가 표시되어야 합니다!프로젝트 빌드
Clojure는 환경 변화에도 작동합니다. 프로젝트를 다른 곳에서 실행하기 위해 Leiningen이 반드시 필요한 것은 아닙니다. 코드 공유를 허용하기 위해 Java가 설치된 곳에서 작동하는 독립 실행형 파일을 만들 수 있습니다.
lein uberjar
이 명령을 실행하면 target/uberjar/폴더에 독립 실행형 파일이 생성됩니다(src와 동일한 디렉터리 수준). 이 jar 파일은 모든 플랫폼에 배포할 수 있습니다.
REPL 사용
REPL - 루프를 읽고 평가하고 인쇄합니다. 웹 개발자 도구 또는 파이썬 프롬프트의 콘솔과 마찬가지로 평가되는 즉시 코드를 실행하고 한 줄만 사용하는 도구입니다.
Clojure repl을 시작하려면
lein repl
프롬프트는 다음과 같습니다.
nREPL server started on port 56969 on host 127.0.0.1 - nrepl://127.0.0.1:56969
REPL-y 0.4.4, nREPL 0.7.0
Clojure 1.10.1
OpenJDK 64-Bit Server VM 1.8.0_242-b08
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
clojure-project.core=>
Clojure는 접두사 표기법을 따르며 모든 것이 일치하는 괄호 안에 있습니다.
시도할 샘플:
(+ 1 2 3 4 5)
는 모든 숫자를 더하고 15를 반환해야 합니다( str "hello world" )
인쇄해야 함 "hello world"
( str "Hi! " "John " "Doe" )
는 모든 문자열을 연결해야 합니다( * 1 2 3 4 5 )
곱한 값 120을 반환해야 합니다Reference
이 문제에 관하여(Clojure 프로젝트 관리를 위한 Clojure 및 Leiningen), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/divyajyotiuk/clojure-and-leiningen-to-manage-clojure-projects-19io텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)