【问题标题】:Common Lisp Hash-Dot #. Reader MacroCommon Lisp Hash-Dot #.阅读器宏
【发布时间】:2018-02-14 18:09:06
【问题描述】:

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

【问题讨论】:

标签: common-lisp reader-macro


【解决方案1】:

在规范中,这称为尖号点。它进行读取时评估。您可以搜索 Common Lisp 超规范。我手头没有,但我相信带有 slime 的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2013-07-04
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多