Reader宏以普通宏不能的方式改变语言的语法(例如,@foo变成(deref foo))(普通的宏不能摆脱括号,所以你必须做类似的事情(@ foo)).它被称为读取器宏,因为它是在readrepl 的传递中实现的(检查源).
作为一个clojure开发人员,你只会创建常规宏,但你会使用大量的阅读器宏,而不必明确地考虑它们.
读者宏的完整列表在这里:https://clojure.org/reference/reader,包括常见的东西,比如@ ',和#{}.
Clojure(与其他一些lisps不同)不支持用户定义的阅读器宏,但是通过标记文字(例如#inst或者#uuid)在阅读器中内置了一些可扩展性
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |