私はこのようにしています:
(coll? (map #(println (.toString %)) java-objects))
関数は を返すTRUE
必要があるため、このcoll?
述語を使用します。より良い、よりエレガントな方法があると思いますか?
ps。そして、この関数は「怠惰」であるため、機能しません。コレクション内のすべての要素を調べて、それぞれで何かを行う正しい方法をお勧めできますか?
私はこのようにしています:
(coll? (map #(println (.toString %)) java-objects))
関数は を返すTRUE
必要があるため、このcoll?
述語を使用します。より良い、よりエレガントな方法があると思いますか?
ps。そして、この関数は「怠惰」であるため、機能しません。コレクション内のすべての要素を調べて、それぞれで何かを行う正しい方法をお勧めできますか?
http://clojuredocs.org/clojure_core/clojure.core/doall
(doall (map #(println (.toString %)) java-objects))
それはあなたを返します
(nil nil nil ...)
真が必要な場合:
(do
(doall (map #(println (.toString %)) java-objects))
true)
式の値が必要なく、副作用だけが必要な場合は、doseq
代わりに使用することをお勧めしmap
ます。
(do (doseq [o java-objects]
(println (.toString o)))
true)
doseq
ドキュメント:
clojure.core/doseq
([seq-exprs & body])
Macro
Repeatedly executes body (presumably for side-effects) with
bindings and filtering as provided by "for". Does not retain
the head of the sequence. Returns nil.