Исполняет ли pound-quote (hash-quote, # ') в Clojure функции разрешения и символа?
Возможно, вы можете помочь мне найти это в документах. Я использую кавычки, чтобы иметь возможность передавать неоцененные имена функций перед выполнением. Например:
(#'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
Я предполагаю, что это макрос читателя.
У меня такой вопрос: (а) Для чего нужна сокращенная фраза (# ')? б) Можете ли вы объяснить, что он делает? (c) Можете ли вы найти его в документах? (d) Действительно ли это сокращение для функций разрешения и символов?
PS - для тех, кто не находится в США - # также известен как «хэш»; или "перекрестный хэш".
PPS - я знаю, что мой пример делает это несколько избыточным. Мне интересно знать, является ли это полностью избыточным или есть конкретные варианты использования.