2024 国家Clojure调查! 分享您的想法。

欢迎!请访问 关于 页面以获取更多关于此如何工作的信息。

0
Clojure

当前 {{condp}} taking the value of the first argument {{pred}}。这有两个缺点

  1. 它不允许将宏用作第一个参数
  2. 将变得不那么高效,因为函数调用不能再内联(常用习语:{{condp = x ...}})

如果 {{pred}} 是一个符号,则可以避免 {{let}} 绑定。这将正确内联 {{=}},这是常见的。

3 个答案

0

评论者:alexmiller

具体的例子会有帮助。

0

评论者:aralo

在我的例子中,我有一个匹配路由的宏。由于它们是静态的,这可以在编译时进行优化

(condp route-match? x [:comments :view] 1 [:posts :edit] 2 [_ :delete] 3)

这将提供更快的对 records 的关联,它生成一个带有 identicalcondp

0
...