Common Lisp Hash-Dot#.读者宏

Mad*_*ist 4 common-lisp reader-macro

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

Dan*_*son 9

在规范中,这称为锐利点.它做读时评估.您可以搜索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
Run Code Online (Sandbox Code Playgroud)