最近,我遇到了所谓的Hash-dot common Lisp读取器宏观,并且想知道它是如何工作的以及它的作用。使用搜索引擎并没有太大帮助,因此最欢迎任何示例,解释,尤其是用途。
在规格中,这称为sharpsign点。它确实阅读时间评估。您可以为此搜索常见的LISP Hyper Spec。我没有它可以交手,但我相信粘液的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