(나는 그것을 실행하는 Clojure의 확장 및 .lein REPL와 비주얼 스튜디오 코드를 사용하고 있습니다).
는 project.clj
에 org.clojure/data.json
에 대한 추가 요구 사항이 있는지 확인
~ > mkdir tmp-0729
~ > cd tmp-0729
~/tmp-0729 > lein new app demo
Generating a project called demo based on the 'app' template.
~/tmp-0729 > cd demo
<add a line to project.clj in editor>
~/tmp-0729/demo > cat project.clj
(defproject demo "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [
[org.clojure/clojure "1.8.0"]
[org.clojure/data.json "0.2.6"]
]
:main ^:skip-aot demo.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
같은 새로운 디렉토리 demo
을 만들려고. 그러면 코드가 작동합니다 :
~/tmp-0729/demo > lein repl
nREPL server started on port 40638 on host 127.0.0.1 - nrepl://127.0.0.1:40638
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.8.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_144-b01
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
demo.core=> (require '[clojure.data.json :as json])
nil
demo.core=> (json/write-str {:a 1 :b 2})
"{\"a\":1,\"b\":2}"
demo.core=> (json/read-str "{\"a\":1,\"b\":2}")
{"a" 1, "b" 2}
demo.core=>
1.'ns' 매크로를 사용해야 할 것입니다. 사용하기가 조금 더 쉽습니다. 2. 파일의 전체 내용을'요구'합니까? – Carcigenicate
그리고 전체 오류입니까? 더러운 IDE에서 쓰레기처럼 보입니다. – Carcigenicate
@Carcigenicate 예 이것은 지금까지 전체 파일입니다. 그게 무슨 뜻입니까? 이론적으로 작동해야하기 때문에 비주얼 코드에 문제가 있는지 확실하지 않습니다. – broliverparker