Có lẽ bạn có thể giúp tôi tìm điều này trong tài liệu. Tôi đang sử dụng pound-quote để có thể vượt qua các tên hàm không được đánh giá trước khi thực hiện. Ví dụ:Trích dẫn bảng Anh (hash-quote, # ') trong Clojure có chạy các hàm phân giải và ký hiệu không?
(#'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
Tôi đoán đây là macro trình đọc.
Câu hỏi của tôi là (a) Dấu ngoặc kép (# ') viết tắt là gì? (b) Bạn có thể giải thích nó đang làm gì không? (c) Bạn có thể định vị nó trong tài liệu không? (d) Nó có thực sự viết tắt cho các chức năng giải mã và biểu tượng không?
PS - Đối với những người không ở Hoa Kỳ - # còn được gọi là 'băm' hoặc 'băm chéo'.
PPS - Tôi biết ví dụ của mình khiến nhu cầu này hơi dư thừa. Tôi quan tâm để biết nếu điều này là hoàn toàn dư thừa hoặc có trường hợp sử dụng cụ thể.
Xem thêm: http://stackoverflow.com/questions/9113387/explanation-about-symbols-and-vars-and-their-differences-in-clojure –