我有一个Clojure应用程序,需要一些配置变量,主要是字符串,但也有需要计算的内容。
我可以通过类似以下方式声明每个变量:
(def config-db "URI_DB"))
(def config-time (hours 1))
但我认为编写一个宏来实现这个功能可能是一个好主意(我不太确定),宏的样子应该像这样:
(make-config
config-db "URI_DB"
config-time (hours 1))
(或者我可以将名称放入向量中,让它看起来更像 let 语句)
但是当我放置多个组合时,出现了问题,我尝试了这样做:
(defmacro define-config
[name definition]
`(def ~name ~definition))
但我不知道如何将其扩展为更有用的内容...
有任何建议或想法吗?
(def config {:db "URI_DB" :time (hours 1)})
。 - eyelidlessness