내가 만든 .clj Clojure 파일을 어떻게 실행할 수 있습니까?
Linux Mint 컴퓨터에 Geany를 설치하고 간단한 코드를 작성했습니다. 언어를 시작하기위한 작은 안녕하세요.
이제 나는 그것을 실행하고 그것이 무엇을 출력하는지보고 싶습니다.
이 코드를 어떻게 실행할 수 있습니까? 저는 IDE 나 미리 패키징 된 것을 사용하지 않고 단순한 텍스트 편집기 인 Geany를 사용하고 있습니다.
어떤 명령을 실행해야합니까?
와 clojure
아무도 이것을 제안하지 않았다는 것을 믿을 수 없습니다. 당신은 할 수 있어야합니다
clojure path/to/script.clj
이것은 apt-get과 함께 Ubuntu에 설치된 clojure를 사용하여 작동합니다. 다른 설치에 대해 잘 모르겠습니다 ...
와 lein-exec
그러나 작업중인 스크립트에 종속성 이 있는 경우 lein-exec
플러그인을 권장합니다 . 이것은 Leiningen 을 사용 하여 모든 종속성을 처리 할 수 있다는 장점이 있습니다 . Leiningen는 이미이lein run
명령을하지만, 그것은 단지 내 주요 기능을 실행하기위한 작업 전체 Clojure의 / lein 프로젝트 . 따라서 lein-exec
플러그인은 소규모 스크립팅을위한 정말 좋은 보완책입니다.
종속성 세부 정보 ...
참고 : 철저하게하기 위해 lein을 사용하는 경우 사용하려는 라이브러리를 ~/.lein/profiles.clj
파일에 추가하거나 project.clj
프로젝트에서 작업하는 경우 파일에 추가 할 수 있습니다 . 그런 다음 실행하면 lein deps
모든 종속성이 설치되고 사용할 때 스크립트 / 프로젝트에 접근 lein exec
/을 lein run
. 또한 lein repl
이러한 종속성에 대한 액세스 권한이있는 Clojure repl을 제공합니다. 다시 말하지만, 라이브러리 의존성이 있다면 확실히 갈 길입니다.
어느 쪽이든 drip
빠른 시작 시간 을 위해 사용 을 고려하십시오.
Drip 은 시작할 준비가 된 사전 부트 스트랩 된 JVM 이미지를 제공하는 깔끔한 작은 도구입니다. 이것은 JVM 응용 프로그램 시작 시간을 줄이는 데 유용 할 수 있습니다. Clojure는 자체적으로 부트 스트랩하는 데 시간이 오래 걸릴 수 있으므로 drip은 해당 프로세스의 속도를 높이는 데 유용한 도구입니다. 이것은 일반적으로 빠르게 실행될 것으로 예상되는 작은 스크립트를 작성하는 경우에 특히 그렇습니다. leiningen을 사용하는 경우 lein-drip 플러그인을 살펴보십시오 .
ClojureScript의 경우
http://planck-repl.org/를 권장 합니다. 이제 JVM 또는 Clojure를 실행하지 않고도 ClojureScript 스크립트의 빠른 실행 (부트 스트랩)을 지원합니다. 대부분의 스크립팅 작업의 경우 빠른 실행이 중요하므로 JVM에 특정한 것이 필요하지 않은 경우 이것이 제가 가장 권장하는 # 1입니다.
다음 명령으로 스크립트를 실행할 수 있습니다.
java -cp clojure.jar clojure.main file.clj
그러나 특히 프로젝트에 종속성을 추가하기 시작할 때 leiningen 을 사용하는 것이 좋습니다 . lein은 코드를 실행 (필요한 모든 종속성 포함) lein jar
하거나를 사용 하여 코드를 아카이브로 압축 하거나 lein uberjar
다음과 함께 실행할 수있는 완전하고 독립적 인 아카이브를 생성 하는 여러 명령을 제공합니다 .
java -jar your_app.jar
명령
추신 다음 기사lein
에서 사용 방법을 읽을 수 있습니다 -기본 작업 및 구성에 대해 설명합니다.
lein 및 lein-exec 플러그인을 설치 한 후 생성 한 .clj 파일을 실행하는 것은 다음과 같이 간단합니다.
lein exec hello.clj
다음과 같은 명령 줄 인수를 전달하는 경우
lein exec hello.clj arg1 arg2 arg3
hello.clj의 'foo'함수에서 액세스 할 수 있습니다.
(foo *command-line-args*)
단일 clj 파일의 경우 추가 할 수 있습니다.
#!/usr/bin/env java -cp /path/to/clojure-1.2.0.jar clojure.main
파일의 맨 위로 이동하여 실행 가능하게 만들거나 클로저 빌드 도구 인 leiningen을 사용하여 모든 것이 압축 된 단일 항아리를 생성 할 수 있습니다.
java -jar cool_app.jar
이제 Drip 이이 질문에 대한 최상의 답변 일 것입니다 ( Drip과 Clojure를 사용하는 방법에 대한 자세한 내용 은 Drip의 위키 참조 ).
Cake는 Leiningen에 통합되었으며 Drip에 의해 Clojure 자동화의 가장 안정적인 구현으로 대체되었습니다 . 여기에서 유사한 질문에 대한 이 답변 을 참조 하십시오.
단일 파일을 실행하려면 다음과 같이 repl에 파이핑하는 것은 어떻습니까?
cat $PATH_TO_FILE | lein repl
.NET을 사용하여 clojure 프로젝트에서 특정 clojure 스크립트 파일을 실행할 때 비슷한 문제가 발생했습니다 lein
. 그런 다음 동일한 공유를 생각하는 지름길을 찾았습니다.
에서 project.clj
파일, 당신은 (물론 주요 방법이있다)을 Clojure의 스크립트 파일 이름을 전환 할 수 있습니다. 다음은 이에 대한 진술입니다.
:main ^:skip-aot conv.newconv
; here conv is namespace and newconv is the file name
.
참고 : 나는 clojure를 처음 사용하며 '^ : skip-aot`가 사용되는 이유를 잘 모르겠습니다. 확인하지 않았습니다.
Note: This methodology, does not require any plugin to be installed nor any jar file need to be generated. This only requires to change a name in project file.
Assumption: Your clojure project has multiple clojure files, each having main method. I am assuming this is created for testing purpose only. My solution will work for this specific scenario.
For running a single file through command line use the following commands:
clj -m (NameSpace name)
ex: clj -m Sample
Or if you want to run through repl:
(load-file filelocation)
ex:
(load-file "Sample.clj")
참고URL : https://stackoverflow.com/questions/7656523/how-can-i-run-a-clj-clojure-file-i-created
'developer tip' 카테고리의 다른 글
R % in % 연산자 (0) | 2020.11.18 |
---|---|
Instagram API : 모든 사용자 미디어를 얻는 방법? (0) | 2020.11.18 |
ASP.NET MVC에서 Tempdata 사용-모범 사례 (0) | 2020.11.17 |
노드의 PassportJS가 로그 아웃시 세션을 제거하지 않는 이유 (0) | 2020.11.17 |
Homebrew 업데이트 실패 :“제발, 변경 사항을 커밋하거나 병합하기 전에 숨김” (0) | 2020.11.17 |