Common Lisp 哈希点#。 Reader宏
Common Lisp Hash-Dot #. Reader Macro
最近,我遇到了所谓的散列点 Common Lisp reader 宏,我想知道它是如何工作的以及它有什么作用。使用搜索引擎没有太大帮助,因此欢迎提供任何示例、解释,尤其是用例。
在规范中,这称为 sharpsign 点。它进行读取时评估。你可以在 Common Lisp hyper spec 中搜索它。我手头没有它,但我相信 Emacs 和 slime 可以查找 reader 宏的文档。执行 C-c C-d C-h
查看是否有相关命令。
#.foo
读作 (eval foo)
returns。因此:
CL-USER> '((+ 1 2) #.(+ 1 2))
((+ 1 2) 3)
CL-USER> (read)
#.(* 3 4)
12
最近,我遇到了所谓的散列点 Common Lisp reader 宏,我想知道它是如何工作的以及它有什么作用。使用搜索引擎没有太大帮助,因此欢迎提供任何示例、解释,尤其是用例。
在规范中,这称为 sharpsign 点。它进行读取时评估。你可以在 Common Lisp hyper spec 中搜索它。我手头没有它,但我相信 Emacs 和 slime 可以查找 reader 宏的文档。执行 C-c C-d C-h
查看是否有相关命令。
#.foo
读作 (eval foo)
returns。因此:
CL-USER> '((+ 1 2) #.(+ 1 2))
((+ 1 2) 3)
CL-USER> (read)
#.(* 3 4)
12