首页 > 最近在看 <clojure 编程> 这本书,在使用 `Ring` 时,#’app 这样的写法时什么意思?

最近在看 <clojure 编程> 这本书,在使用 `Ring` 时,#’app 这样的写法时什么意思?

clojure
;; 定义 ring 的处理函数 (defn app [{:keys [uri]}] ... ;省略具体代码 ;; 在调用时 (def server (run-jetty #'app {:port 8080 :join? false}))

请问,爱调用处理函数时的 #'app 这样的写法时什么意思呢?
我试过直接写 app 也可以成功启动jetty


#' 代表 var 本身。在 repl 中尝试下列代码:

clojure(def a [3 1])
(class a)
=> clojure.lang.PersistentVector
(class #'a)
=> clojure.lang.Var

大多数情况下,我们使用 var 是使用它的内容,但在你的例子中有下面重大区别:

【热门文章】
【热门文章】