我正在尝试编写一个Clojure宏,将Clojure数据(例如{:font-size "14px"}
)转换成CSS(font-size: 14px;
)。
我还希望这个宏可以接受映射字面量和解析为映射的符号。
例如。
(defstyles foo
{:font-size "14px"})
;; -- OR --
(def bar {:font-size "14px"})
(defstyles foo bar)
在宏中,我尝试了以下操作
(defmacro defstyles [vsym]
@(resolve vsym))
当这个变量在同一ns中定义且宏被使用时,这看起来可以工作,但当从一个ns传递变量时会发生NullPointerException。