如何在Clojure中搜索特殊字符的相关文档?
如何查找Clojure特殊字符的相关文档
作为常年和Clojure打交道的开发者,我太懂这种特殊字符搜不到文档的头疼了!分享几个我常用的靠谱办法:
直奔官方文档的专门章节
Clojure官方文档里专门有「Reader Macros(读取器宏)」板块,像#()、#_这类核心特殊符号全在这里有详细解释。另外官方的Cheat Sheet也把所有常用特殊语法按功能分类列出来了,翻起来特别直观。用功能描述替代特殊字符搜索
既然搜索引擎不认特殊符号,那就换个思路——用自然语言描述这个符号的作用来搜:- 要查
^String,搜「Clojure type hint syntax」(Clojure类型提示语法) - 查
#(),搜「Clojure anonymous function shorthand」(Clojure匿名函数简写) - 查
%&,搜「Clojure anonymous function rest parameter」(Clojure匿名函数剩余参数) - 查
#_,搜「Clojure comment out entire form」(Clojure注释整个表达式) - 查
>!,这是core.async的语法,搜「Clojure core.async put! shorthand」就行
- 要查
社区提问时精准表述
如果还是找不到,去Clojure相关社区提问的时候,一定要把特殊符号用代码块包起来,再补充使用场景。比如可以这么问:「有没有大佬能解释下Clojure里#_的用法?我看到它放在一个表达式前面,运行时这个表达式好像没执行」,社区里的老玩家很快就会给你讲明白。本地REPL里试+查文档
很多特殊符号是某个函数/宏的简写,直接在REPL里用(doc)命令查对应的核心功能就行:比如#()是fn的简写,输(doc fn)就能了解细节;>!对应clojure.core.async/put!,输(doc clojure.core.async/put!)看文档就好。像#_这种读取器宏,直接在REPL里试效果也很直观——比如输#_(println "不会输出") (println "会输出"),一眼就能明白它是注释整个表达式的。
内容的提问来源于stack exchange,提问作者Alan Thompson
相关产品推荐
相关产品推荐

