私は clojure を初めて使用するので、まだ正しい用語を使用していない場合は申し訳ありません。私は、最も慣用的な方法で次のことを行う方法を探しています:
任意の数のマップを 1 つにマージする関数があります。それを と呼びましょうmerge-maps
。
ここで、最初の関数を呼び出し、結果で static void Java 関数を呼び出し、まったく同じ結果を返す 2 番目の関数が必要です。最初の 2 つのことはわかりますが、3 つ目のことはできません。static void メソッドは nil に評価されるため、何らかの方法で値を返す必要がありますが、方法がわかりません。
(defn my-funky-function [& ms]
(def merged (merge-maps ms))
(SomeJavaClass/someStaticVoidMethod merged, "some", "other", "stuff")
;????? <- how do I "return" merged from here?)
)