Tôi đã thực hành viết macro và tôi dường như không thể nhận được defn
để hoạt động.Làm cách nào để viết macro "defn" trong Clojure?
cú pháp của tôi là: (my-define name parameter body)
Lờ đi & thông số và thói quen đệ quy, Làm thế nào để liên kết tên với một (fn [tham số] cơ thể)?
Bạn có thể sử dụng 'macroexpand' để xem trong repl những gì một macro mở rộng đến. Ví dụ. '(macroexpand '(defn foo [] 1))'. Điều này rất hữu ích trong việc gỡ lỗi các macro của riêng bạn, cũng như cố gắng tìm hiểu từ các macro lõi/đinh hương. – liwp
Cũng có thể sử dụng '(nguồn defn)' để trực tiếp kiểm tra mã nguồn. – dqc