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