检查值是否可约简(是否可以被
传递给 {{reduce}})是不可能的。
可以通过使用{{clojure.lang.IReduce}}和{{clojure.core.protocols/CollReduce}}来试图拼凑一些东西,但这并不令人满意
{{CollReduce}} 协议扩展到{{java.lang.Object}},因此
{{(satisfies? CollReduce x)}}总是返回true,即使对于在约简时将抛出异常的值
来说也是如此。
在我看来,将{{CollReduce}}扩展到{{Object}}可能会有问题。
ClojureScript有一个可用的{{reduceable?}},所以似乎没有
这个问题。
请注意,ClojureScript有一个可用的{{reduceable?}},所以似乎没有
这个问题。