【问题标题】:What does (defn name {:style/indent 2} [param]) mean in clojure(defn name {:style/indent 2} [param]) 在 clojure 中是什么意思
【发布时间】:2018-05-18 14:29:39
【问题描述】:

我在 Clojure 中偶然发现了以下语法

(defn function-name
{:style/indent 2}
[parameters]
(println "Function Body"))

{:style/indent 2} 部分的用途是什么?它有什么作用?

【问题讨论】:

  • ……更一般地说,这个属性映射成为 var 元数据的一部分。在这种情况下,您将使用(:style/indent (meta #'function-name)) 来查找它。

标签: clojure


【解决方案1】:

这是对 Emacs (CIDER) 编辑器的提示。这意味着编辑器将自动缩进此函数的每次调用,将前两个参数处理为特殊:

(function-name arg1 arg2
   arg3)

而不是常规

(function-name arg1 arg2
               arg3).

它不会以任何方式影响函数的行为。

请参阅this 了解 CIDER 的缩进规范。

【讨论】:

    【解决方案2】:

    它来自CIDER。它告诉 CIDER 如何缩进调用 function-name 的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 2011-12-17
      • 2021-09-19
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多