惯用语Clojure功能别名

时间:2015-12-11 16:51:39

标签: clojure clojurescript idioms

在Clojure中对函数进行别名的最惯用方法是什么? 这两种方法在执行方面有什么不同吗?

取自Om的例子(Clojurescript,但Clojure中的语法是相同的):

(defn query->ast
  "Given a query expression convert it into an AST."
  [query-expr]
  (parser/query->ast query-expr))

(def query->ast
  "Given a query expression convert it into an AST."
  parser/query->ast)

1 个答案:

答案 0 :(得分:8)

我更喜欢defdefn

defn

  • 有一个插入的函数调用,可能会或可能不会被删除;
  • 仅限于arity 1,而def版本具有所有arity 原文。