Clojure 프로젝트 관리를 위한 Clojure 및 Leiningen

Clojure를 소개하고자 합니다. 나는 그것이 어떻게 작동하는지에 매료되었고 프로그래머로서 당신의 생각을 날카롭게 하는 것으로도 알려져 있습니다. 이 기사에서는 기본 설정을 수행하고 Clojure에서 프로그래밍을 시작합니다!

클로저 란 무엇입니까?



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을 반환해야 합니다
  • .

    좋은 웹페이지 즐겨찾기