Private def in clojure/clojurescript
Clojure und clojurescript können Sie eine private version von defn genannt defn-, aber wie machst du das gleiche für def, als def - scheint es nicht zu enthalten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die
:private true
Metadaten-Schlüssel-Wert-paar.Die zweite form ist nur ein kurzer-hand für die erste.
Es ist erwähnenswert, dass es derzeit nicht möglich, eine private
def
(unddefn
) in ClojureScript: https://clojurescript.org/about/differences (unter "spezielle Formulare")Zusammenstellung nicht scheitern und doch die
def
bleiben zugänglich.Wenn Sie möchten, eine def-hier ist, wie es zu implementieren
(defmacro def- [sym init] `(def ~(with-meta sym {:private true}) ~init))
defn-
.Dieser google-Gruppe post hat eine Diskussion über dieses Thema. Anscheinend ist der Wunsch berücksichtigt wurde. Laut einer der Antworten
defn-
wurde als keine gute Idee und beschlossen, nicht zu verewigen, es mitdef
und andere.clojure.core
ist nicht der Ort fürdefn-
nicht, dassdefn-
war überhaupt nicht gut. +1 für den link zu dem post, obwohlHier ist, wie zu implementieren
def-
:Dieser code ist sehr ähnlich zu der
defn-
, die kann man mit(clojure.repl/source defn-)
: