示例代码:
(def app
(-> #'handler
(ring.middleware.stacktrace/wrap-stacktrace)
(wrap-spy)))
Run Code Online (Sandbox Code Playgroud)
我不是 Clojure 专家,这#'
让我感到困惑——那是什么?
这是一个名为 var-quote 的读取器宏。 #'x
是相同的(var x)
。
它的作用是为您提供对名为 的变量的引用x
,而不是所引用的值x
。在这种情况下,您要说的是“要调用的函数在handler
”中,而不是“这里是要调用的函数”。这意味着您可以更新(在 repl 中重新定义) 的定义handler
,即使您不更新应用程序的其余部分,ring 也会找到它。
归档时间: |
|
查看次数: |
158 次 |
最近记录: |