Clojure笔记——“#”号用法总结

时间:2021-03-05 22:52:33

Clojure中的#可真是身兼多职,这里总结一下。

(注:本文部分代码来自《Clojure Programming》中文版)

正则表达式

Clojure里面把以#开头的字符串当做正则表达式。

user=> (re-seq #"(\d+)-(\d+)" "1-3")
;= (["1-3" "1" "3"])

注释

形式级别的注释#_宏。

user=> (read-string "(+ 1 2 #_(* 2 2) 8)")
;= (+ 1 2 8)


Set字面量

#{1 2 3}

user=> (class #{1 2 3})
;= clojure.lang.PersistentHashSet

匿名函数

user=> (map #(inc %) [1 2 3])
;= (2 3 4)