gpt4 book ai didi

macros - Clojure 宏总是泄漏吗?

转载 作者:行者123 更新时间:2023-12-04 22:34:27 28 4
gpt4 key购买 nike

如果您阅读 macro -> with anonymous functions 问题,您会发现 -> 宏不能很好地与匿名函数配合使用。要正确使用宏,您需要了解实现。从这个意义上说,宏是“泄漏的”——API 并没有完全隐藏实现。

(足够复杂的)Clojure 宏是否总是有漏洞?

[作为比较:C 预处理器也存在类似的问题,当宏参数处理不慎时,会出现奇怪的副作用。在这种情况下,可以通过将宏参数括在括号中(在宏内部)来解决问题。这并不能解决使用具有可变状态的 C 宏的问题(即每次使用参数都会改变状态),但也许我们可以忽略函数式语言的这个问题,或者使用 let 来避免多次评估。]

最佳答案

您不需要了解实现 - 文档字符串非常清楚它是如何工作的。阅读器宏也有详细记录 - #(...) 将扩展为 (fn [..] ...)。鉴于这些知识和提供的 docstring 信息,很明显线程匿名函数将不起作用。根本不需要了解实现。

关于macros - Clojure 宏总是泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757743/

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