【发布时间】:2020-05-06 16:56:28
【问题描述】:
^:internal 在 Clojure 中是什么意思?例如在arrows.clj(https://github.com/rplevy/swiss-arrows/blob/1.0.0/src/swiss/arrows.clj) 中定义的宏defnilsafe 在defmacro 和宏名称defnilsafe 之间有^:internal。
【问题讨论】:
-
据我所知,
^:internal元数据只是图书馆用户、存储库读者和提交者的标记。它纯粹是传统的,很容易成为^:notice-this-is-for-internal-use-only或其他任何东西。例如,这个宏可以改变一些内部状态,而不是幂等的。所以作者通过添加这个元数据来警告你。这并不意味着它是私有的,(这就是为什么它不是^:private)仍然,只有在你知道自己在做什么的情况下才应该使用它。
标签: clojure