Common Lisp Hash-Dot#。读者宏

时间:2018-02-14 18:09:07

标签: common-lisp reader-macro

最近,我遇到了所谓的哈希点Common Lisp阅读器宏,我想知道它是如何工作的以及它的作用。使用搜索引擎并没有多大帮助,因此非常欢迎任何示例,解释和特别是用例。

1 个答案:

答案 0 :(得分:7)

在规范中,这称为锐利点。它做读时评估。您可以搜索Common Lisp超规范。我没有它,但我相信Emacs与粘液可以查找读者宏的文档。请C-c C-d C-h查看是否有命令。

#.foo读取(eval foo)返回的内容。因此:

CL-USER> '((+ 1 2) #.(+ 1 2))
((+ 1 2) 3)
CL-USER> (read)
#.(* 3 4)
12