gpt4 book ai didi

lisp - 使用 Sharpsign Dot 有什么好处?

转载 作者:行者123 更新时间:2023-12-04 16:57:24 25 4
gpt4 key购买 nike

我最近使用了 cl-ppcre 包,我很好奇他们如何优化这个包,因为我想学习优化 common lisp。我注意到他们在声明表达式中经常使用 Sharpsign Dot,例如 here .优化设置为here .

他们为什么这样写?有什么好处吗?或者某些规则与他们有关?

更新:
我跑

(defvar *b* '(optimize speed))
(pprint (macroexpand-1 '(declaim *b*)))
(pprint (macroexpand-1 '(declaim #.*b*))) ;; => this one is right

所以, #.甚至在宏调用之前会评估值吗?喜欢它首先评估值并在宏参数中替换它。

最佳答案

Sharpsign Dot将在读取时评估下一个表达式。因此,它将充当读者得到结果而其他级别的 CL 不知道这一点。由于评估规则,依赖文字的宏不能被动态化,因此读取时间宏将绕过这一点,并使其成为动态表达式对于阅读器之外的其他级别是文字的。

好处是额外级别的元编程。

关于lisp - 使用 Sharpsign Dot 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59003016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com