"#"符号"符号在clojure中意味着什么?

tjb*_*982 23 clojure

我正在使用教程学习Heroku上的clojure .我在其他教程中也遇到过同样的问题.

无论如何,在环中使用jetty适配器,你有这样的事情:

(defroutes routes 
  ...)

(defn start []
  (ring/run-jetty #'routes {:port 8080 :join? false}))
Run Code Online (Sandbox Code Playgroud)

我不明白是什么#'routes意思.如果我用它替换它routes似乎工作正常.什么是#'symbol符号是什么意思?研究起来非常困难.

Jan*_*Jan 25

这是一个读者宏.#'foo扩展到(var foo).请参阅Clojure中的pound-quote(hash-quote,#')运行解析和符号函数?,Clojure中的符号和Vars之间的区别以及http://clojure.org/vars,您可以在其中找到深入的讨论.

  • 另外:http://stackoverflow.com/questions/12248754/clojure-reference-project-up-to-date#comment16423142_12248754 (2认同)