Tôi đang cố gắng tạo một hàm để tạo cơ sở mới với cấu trúc khác làm cơ sở và bắt đầu tôi đã tạo macro để tạo cấu trúc mới có cùng trường như cũ. Vĩ mô tôi có mà tôi nghĩ nên làm điều này là dưới đây, nhưng nó là đưa ra các lỗi sau:Vấn đề vĩ mô Clojure
java.lang.Exception: Can't use qualified name as parameter: user/p1__132
Macro:
(defmacro prototype [structure obj]
`(apply struct ~structure (map #(~obj %) (keys ~obj))))
Ví dụ về sử dụng:
(defstruct bintree :data :left :right)
(def a (struct bintree 3))
(prototype bintree a)
Sản lượng mong muốn trong trường hợp này sẽ là
{:data 3 :left nil :right nil}
Tôi mới sử dụng clojure nhưng tôi đã tìm thấy liên kết này: http://osdir.com/ml/java.clojure.user/2008-03/msg00108.html – seth
bạn có thể thêm đầu ra mong muốn vào ví dụ sử dụng hay không –