オブジェクトに複数のインスタンスを作成し、Java ArrayList に格納するには、どの Clojure メソッドを使用できますか?
Javaでこれを行う方法は知っていますが、Clojureで続行する方法がわかりません。ヘルプ/ポインターは大歓迎です
http://clojure.org/java_interopを見てください
(doto (new java.util.ArrayList)
(.add (new Object))
(.add (new Object)))
戻り値#<ArrayList [java.lang.Object@5ae7fa2, java.lang.Object@33d6798]>
clojureで新しいオブジェクトを作成するための2つのフォームがあります。
(Classname. args*)
(new Classname args*)
したがって、clojureでJavaオブジェクトを作成する簡単な例を次に示します。まず、Javaでどのように見えるか:
Thread thread = new Thread("Hi there");
Clojure
; return instance of java.lang.Thread class
(new Thread "Hi there")
または別の方法
(Thread. "Hi there")
ベクターに保存しないのはなぜですか?
user=> (def lst (atom []))
user=> (swap! lst conj "String")
user=> (swap! lst conj 123)
user=> @lst
["String" 123]