Ist pound-Zitat, (hash-Zitat, #') in Clojure läuft die Entschlossenheit und symbol-Funktionen?

Vielleicht können Sie mir helfen, diese in der Dokumentation. Ich bin mit der pound-Zitat, um passieren zu können um ungewichtete function-Namen vor der Ausführung. Zum Beispiel:

(#'cons 1 ())
;(1)

(defn funcrunner [func a b]
  (func a b))

(funcrunner cons 'a ())
;(a)

(funcrunner 'cons 'a ())
'()

(funcrunner #'cons 'a ())
;(a)

#'cons
;#'clojure.core/cons

(resolve (symbol 'cons))
;#'clojure.core/cons

Meine Vermutung ist, dass dies eine reader-makro.

Meine Frage ist, (a) Was ist die pound-Zitat, ( # ' ) Kurzform für? (b) Können Sie erklären, was es tut? (c) Können, suchen Sie es in der Google docs? (d) Ist es eigentlich die Kurzform für die Lösung und symbol-Funktionen?

PS - Für diejenigen, die nicht in den USA - # ist auch bekannt als "hash" oder "cross-hash'.

PPS - ich bin mir bewusst, dass mein Beispiel macht die Notwendigkeit dieser etwas redundant. Ich bin daran interessiert zu wissen, ob dies ist völlig überflüssig, oder gibt es spezifische use-cases.

InformationsquelleAutor hawkeye | 2012-06-08
Schreibe einen Kommentar