Ich habe einen Wert a
, der nil
sein kann oder nicht.Clojure optionales Argument zum Funktionsaufruf
Ich habe eine Reihe von Funktionen (außerhalb meiner Kontrolle), die mit dem Wert als erster Parameter aufgerufen werden sollte, wenn es nicht nil
ist. Wenn es nil
ist, sollte die Funktion ohne a
aufgerufen werden.
Statt:
(defn my-fn [x]
(if a
(beyond-my-control-fn a x)
(beyond-my-control-fn x)))
Ich möchte wie etwas tun:
(defn my-fn [x]
(add-argument-if-not-nil-> a (beyond-my-control-fn x)))
Gibt es ein Makro, das mir dies bereits tun können, oder sollte ich meine eigenen zu machen?
Ist 'a' eine Namespace-Level-Variable? Es ist nicht als ein Argument für Ihre Funktion definiert? –
Es ist eine dynamische Top-Level-Variable, die möglicherweise nicht Null ist. – siltalau