Tôi có một vĩ mô mà phải mất một cơ thể:Làm cách nào để tôi có thể kết hợp các đối số từ khóa tùy chọn với công cụ & phần còn lại?
(defmacro blah [& body] (dostuffwithbody))
Nhưng tôi muốn thêm một đối số từ khóa tùy chọn để nó là tốt, vì vậy khi được gọi là nó có thể trông giống như một trong những:
(blah :specialthingy 0 body morebody lotsofbody)
(blah body morebody lotsofboy)
Tôi có thể làm như thế nào? Lưu ý rằng tôi đang sử dụng Clojure 1.2, vì vậy tôi cũng đang sử dụng công cụ hủy đối số từ khóa tùy chọn mới. Tôi ngây thơ đã cố gắng thực hiện điều này:
(defmacro blah [& {specialthingy :specialthingy} & body])
Nhưng rõ ràng điều đó không hoạt động tốt. Làm thế nào tôi có thể thực hiện điều này hoặc một cái gì đó tương tự?