Clojure 什么是';我在戒指应用程序中看到了什么?
示例代码:Clojure 什么是';我在戒指应用程序中看到了什么?,clojure,ring,Clojure,Ring,示例代码: (def app (-> #'handler (ring.middleware.stacktrace/wrap-stacktrace) (wrap-spy))) 我不是Clojure专家,这个#“让我困惑——那是什么?这是一个问题#'x与(var x)相同 它所做的是为您提供一个名为x的变量引用,而不是x引用的值。在这种情况下,您要告诉ring,“要调用的函数在处理程序中,而不是“这里是要调用的函数”。这意味着您可以更新(在repl中重新定义)处理程序
(def app
(-> #'handler
(ring.middleware.stacktrace/wrap-stacktrace)
(wrap-spy)))
我不是Clojure专家,这个#“
让我困惑——那是什么?这是一个问题#'x
与(var x)
相同
它所做的是为您提供一个名为
x
的变量引用,而不是x
引用的值。在这种情况下,您要告诉ring,“要调用的函数在处理程序中,而不是“这里是要调用的函数”。这意味着您可以更新(在repl中重新定义)处理程序的定义,ring会找到它,即使您不更新应用程序的其余部分。要查找类似的内容,您也可以使用它作为引用。它与前面提到的重复项非常接近。一个区别是它特别询问了ring,这可能是很多人第一次遇到它的方式。“ring”关键字(和标记)可能会使这一点值得保留。