2024 年 Clojure 状况调查! 中分享您的想法。

欢迎!请参阅 关于 页面以了解有关如何操作的更多信息。

0 投票
Clojure

目前,{{condp}} 取第一个参数 {{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 投票
参考: https://clojure.atlassian.net/browse/CLJ-2162(由 aralo 报告)
...