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)

也提供了一个更快的assoc给records,它生成一个具有identicalcondp

0
...