【问题标题】:What does ^:internal mean in clojure?^:internal 在clojure中是什么意思?
【发布时间】:2020-05-06 16:56:28
【问题描述】:

^:internal 在 Clojure 中是什么意思?例如在arrows.clj(https://github.com/rplevy/swiss-arrows/blob/1.0.0/src/swiss/arrows.clj) 中定义的宏defnilsafedefmacro 和宏名称defnilsafe 之间有^:internal

【问题讨论】:

  • 据我所知,^:internal 元数据只是图书馆用户、存储库读者和提交者的标记。它纯粹是传统的,很容易成为^:notice-this-is-for-internal-use-only 或其他任何东西。例如,这个宏可以改变一些内部状态,而不是幂等的。所以作者通过添加这个元数据来警告你。这并不意味着它是私有的,(这就是为什么它不是^:private)仍然,只有在你知道自己在做什么的情况下才应该使用它。

标签: clojure


【解决方案1】:

我以前从未见过。

正如@leetwinksi 所说,这似乎是作者的“内部”笔记。非常不标准,我不知道预期的用途。

请记住:元数据是“不影响平等的东西”。它是一种“逃生舱”,您可以在其中附加不会影响相等比较的信息。它的用途非常有限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多