相关疑难解决方法(0)

Clojure defmacro丢失了元数据

我正在尝试创建一个def带有类型提示的字符串Clojure宏:

(defmacro def-string [name value]
  `(def ^String ~name ~value))

(def-string db-host-option "db-host")
Run Code Online (Sandbox Code Playgroud)

当我macroexpand这样,类型提示丢失:

(macroexpand '(def-string db-host-option "db-host"))
;=> (def db-host-option "db-host")
Run Code Online (Sandbox Code Playgroud)

别担心提示这种类型的智慧.

为什么宏会丢失元数据?如何编写此宏或任何包含元数据的宏?

macros clojure type-hinting

24
推荐指数
2
解决办法
2052
查看次数

标签 统计

clojure ×1

macros ×1

type-hinting ×1